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;
    }
  • 相关阅读:
    Node.js/Python爬取网上漫画
    webpack2配置
    Node多进程相关
    文件上传更新服务相关
    自己的php函数库
    记录
    jquery 小知识点
    自己写算法---java的堆的非递归遍历
    转虚函数,写的相当好啊
    公钥私钥 ssl/tsl的概念
  • 原文地址:https://www.cnblogs.com/zfeng/p/4175116.html
Copyright © 2011-2022 走看看