美文网首页
Laravel访问外网接口

Laravel访问外网接口

作者: 欢欢011 | 来源:发表于2019-12-17 18:13 被阅读0次

1.curl

/**

* CURL请求

*

* @param $url

* @param bool $params

* @param int $ispost

* @param int $https

* @return bool|mixed

*/

public static function curl($url, $params = false, $ispost = 0, $https = 0)

{

    $httpInfo = array();

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

    curl_setopt($ch, CURLOPT_USERAGENT, '');

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

    curl_setopt($ch, CURLOPT_TIMEOUT, 30);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    if ($https) {

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在

    }

    if ($ispost) {

        curl_setopt($ch, CURLOPT_POST, true);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

        curl_setopt($ch, CURLOPT_URL, $url);

    } else {

        if ($params) {

            if (is_array($params)) {

                $params = http_build_query($params);

            }

            curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);

        } else {

            curl_setopt($ch, CURLOPT_URL, $url);

        }

}

    $response = curl_exec($ch);

    if ($response === FALSE) {

        //echo "cURL Error: " . curl_error($ch);

        return false;

    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));

    curl_close($ch);

    return $response;

}

2.GuzzleHttpService

官网中文文档   http://guzzle-cn.readthedocs.io/zh_CN/latest/index.html

引入安装

在composer.json文件的“require”项中加入

"guzzlehttp/guzzle": "^6.3",

然后命令行执行composer install

项目中的用法     

新建一个GuzzleHttpClient类   在类中写一个可以调用的方法

示例

在项目中需要调用的地方直接传入参数调用就可以啦

相关文章

  • Laravel访问外网接口

    1.curl /** * CURL请求 * * @param $url * @param bool $params...

  • vagrant share:homestead 外网访问本地站点

    laravel homestead环境如何通过在外网访问还在开发调试中的应用? 方法一: vagrant ssh ...

  • laravel接口规范

    laravel接口规范 class jiekou { public $status; //状态,访问成功0 不成...

  • SSH实现内网穿透,你需要的都在这里

    SSH实现内网穿透 背景 需求:内网服务接口暴露给外网调用(外网不能直接访问内网) 前提:拥有一台有公网ip的服务...

  • 记一次自定义拦截器失效的问题排查

    背景 项目中使用swagger来自动生成接口文档,为了防止接口文档地址在外网被访问,需要对swagger的静态资源...

  • iptables简单配置DMZ

    要求 内网可以访问外网 内网可以访问DMZ区 外网不能访问内网 外网能访问DMZ区的服务 DMZ区不能访问内网 D...

  • mac电脑内外网同时上网

    本教程通过网线访问内网,wifi访问外网,达到mac同时内外网上网的目的;网线访问外网,wifi访问内网亦可,原理...

  • SSH端口转发实现内网穿透

    我们局域网的机器能够访问外网,但是外网不能访问内网。因为内网访问互联网时候能确定外网的地址,外网却不能确定我们局域...

  • laravel HTTPException 429 Too M

    Laravel 5.2 引入的 throttle middleware 作用是实现接口访问频率限制的 默认一分钟限...

  • 外网访问

    购买链接会经常变换,如打不开或不可用,请联系我,我进行修改。 打开购买链接后会显示如下图所示: 想必到这里大部分同...

网友评论

      本文标题:Laravel访问外网接口

      本文链接:https://www.haomeiwen.com/subject/mezsnctx.html