zoukankan      html  css  js  c++  java
  • php curl使用方法

    /**
    * 使用curl进行连接
    *
    * @access private
    * @param string $url 远程服务器的URL
    * @param string $params 查询参数,形如bar=foo&foo=bar
    * @param string $method 请求方式,是POST还是GET
    * @param array $my_header 用户要发送的头部信息,为一维关联数组,形如array('a'=>'aa',...)
    * @return array 成功返回一维关联数组,形如array('header'=>'bar', 'body'=>'foo'),
    * 失败返回false。
    /
    function use_curl($url, $params, $method, $my_header)
    {
    /
    开始一个新会话 */
    $curl_session = curl_init();

        /* 基本设置 */
        curl_setopt($curl_session, CURLOPT_FORBID_REUSE, true); // 处理完后,关闭连接,释放资源
        curl_setopt($curl_session, CURLOPT_HEADER, true);//结果中包含头部信息
        curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);//把结果返回,而非直接输出
        curl_setopt($curl_session, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);//采用1.0版的HTTP协议
    
        $header = array();
    
        if ($method === 'GET')
        {
            curl_setopt($curl_session, CURLOPT_HTTPGET, true);
            $url .= $params ? '?' . $params : '';
        }
        else
        {
            curl_setopt($curl_session, CURLOPT_POST, true);
            $header[] = 'Content-Type: application/x-www-form-urlencoded';
            $header[] = 'Content-Length: ' . strlen($params);
            curl_setopt($curl_session, CURLOPT_POSTFIELDS, $params);
        }
    
        /* 设置请求地址 */
        curl_setopt($curl_session, CURLOPT_URL, $url);
    
        /* 设置头部信息 */
        curl_setopt($curl_session, CURLOPT_HTTPHEADER, $header);
    
        curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($curl_session, CURLOPT_TIMEOUT, 5);
        
        /* 发送请求 */
        $http_response = curl_exec($curl_session);
    
        if (curl_errno($curl_session) != 0)
        {   
            return false;
        }
    
        $separator = '/
    
    |
    
    |
    
    /';
        list($http_header, $http_body) = preg_split($separator, $http_response, 2);
    
        $http_response = array('header' => $http_header,//肯定有值
                               'body'   => $http_body); //可能为空
    
        curl_close($curl_session);
    
        return $http_response;
    }
  • 相关阅读:
    fiddler 保存请求数据并发送到自己的服务器接口
    入门chrome插件开发教程和经验总结,一篇就搞掂!
    文件图标SVG
    银行开发平台
    银联号
    数学好玩 沛沛猜想
    Jenkins安装 maven插件
    jQuery的on绑定click和直接绑定click区别
    PC与移动端都可以使用的横向导航,可点击可滑动
    layui加载层(有文字提示版)跳出iframe父级
  • 原文地址:https://www.cnblogs.com/zfeng/p/4175116.html
Copyright © 2011-2022 走看看