zoukankan      html  css  js  c++  java
  • php curl get

     1 **
     2  * @desc curl get请求
     3  * @date 2016-11-23 11:46:13
     4  *
     5  * @param $url 请求的url
     6  * @param 请求的头部数据|string $header
     7  * @param 请求的cookie数据|string $cookie
     8  * @param 请求数据错误是否返回获取的数据|bool $source
     9  *
    10  * @return bool|mixed
    11  *
    12  */
    13 function curlGet($url, $header = "", $cookie = '', $source = TRUE)
    14 {
    15     $ch = curl_init($url);
    16     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    17     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    18     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
    19     curl_setopt($ch, CURLOPT_HEADER, $header); // 设置请求头部header数据
    20     if ($cookie) {
    21         curl_setopt($ch, CURLOPT_COOKIE, $cookie); // 设置cookie
    22     }
    23     curl_setopt_array($ch, array(
    24         CURLOPT_TIMEOUT => 30, //设置cURL允许执行的最长秒数 30s
    25         CURLOPT_CONNECTTIMEOUT => 10, // 在发起连接前等待的时间,如果设置为0,则无限等待。
    26     ));
    27 
    28     //抓取URL并把它传递给浏览器
    29     $result = curl_exec($ch);
    30     //var_dump($result);
    31     // 为false 说明curl错误
    32     if($result === false) {
    33         $result = 'ERROR(CURL): ['.curl_errno($ch) . ']' . curl_error($ch);
    34     }
    35 
    36     //获取执行后的 http 状态码
    37     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    38     if ($httpCode != 200 && !$source) { // 非200说明异常
    39         $result = FALSE;
    40     }
    41 
    42     // 获取执行后的 http 头部Header
    43     if (isset($_GET['debug'])) {
    44         $httpInfo = curl_getinfo($ch);
    45         echo '<pre>' . print_r($httpInfo, true) . '</pre>' . PHP_EOL;
    46     }
    47     curl_close($ch); // 关闭cURL资源,并且释放系统资源
    48 
    49 
    50 
    51     return $result;
    52 }
  • 相关阅读:
    python封装configparser模块获取conf.ini值
    python(random模块)取10以内的随机数
    selenium-webdriver循环点击百度搜索结果以及获取新页面的handler
    xfire实现webservice客户端之测试关注点
    [译]36 Days of Web Testing(六)
    [译]36 Days of Web Testing(五)
    [译]36 Days of Web Testing(四)
    [译]36 Days of Web Testing(三)
    [译]36 Days of Web Testing(二)
    [译]36 Days of Web Testing(一)
  • 原文地址:https://www.cnblogs.com/cloudshadow/p/php-curl-get.html
Copyright © 2011-2022 走看看