Laravel访问外网接口

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类   在类中写一个可以调用的方法

示例

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能...
    你很闹i阅读 339评论 0 1
  • cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能...
    司马东阳阅读 1,457评论 0 6
  • 原文地址:PHPcURL库函数抓取页面内容(转)作者:巴克 cURL是一个利用URL语法规定来传输文件和数据的工具...
    司马东阳阅读 1,206评论 0 3
  • 打一场禁毒人民战争。 ——题记 此时已是午夜,可筑城公安局办公大楼依然是灯火通明...
    舫迟阅读 259评论 0 1
  • 前言 由于设计模式-命令模式(一)中讲到,如果类太多导致很多冗余,并且增加工作量及不利于维护等,在本次讲中我们需要...
    成绩是汗阅读 230评论 0 0