我爱的人叫梓鑫

当前位置:网站首页 / php方法 / 正文

php 模拟浏览器采集curl

2019-06-30 / php方法 / 77 次围观 / 1 次吐槽

function geturl($url) {

$header = array (

  0 => 'Connection: keep-alive',

  1 => 'Cache-Control: max-age=0',

  2 => 'Upgrade-Insecure-Requests: 1',

  3 => 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; PRO 6 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043221 Safari/537.36 V1_AND_SQ_7.0.0_676_YYB_D QQ/7.0.0.3135 NetType/WIFI WebP/0.3.0 Pixel/1080',

  4 => 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

  5 => 'Accept-Encoding: gzip, deflate, br',

  6 => 'Accept-Language: zh-CN,en-US;q=0.8',

);

    $postData = '';

   // $cookie = 'PHPSESSID=pan1k022sfk9r6rln95a141296'; //需要cookie的话去掉这行的注释

    $timeout = 10;


    $ch  = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);       //返回数据不直接输出

    curl_setopt($ch, CURLOPT_ENCODING, "gzip");        //指定gzip压缩

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    //302/301

    //SSL

    if(substr($url, 0, 8) === 'https://') {

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

        //error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)解决

        //值有0-6,请参考手册,值1不行试试其他值

        //curl_setopt($ch, CURLOPT_SSLVERSION, 1);

    }

    //post数据

    if(!empty($postData)) {

        curl_setopt($ch, CURLOPT_POST, 1);               //发送POST类型数据

        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); //POST数据,$post可以是数组(multipart/form-data),也可以是拼接参数串(application/x-www-form-urlencoded)

    }

    if(!empty($cookie)) {

        $header[] = $cookie;

    }

    if(!empty($header)) {

        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);     //使用header头信息

    }

    //超时时间

    curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);

    //执行

    $arta = curl_exec($ch);

    if($error = curl_error($ch)) {

        //log error

        error_log($error);

    }

    curl_close($ch);


 

   return $arta;

}

 

推荐您阅读更多有关于“”的文章

本站所有文章如无特别注明均为原创。作者:努力者 ,复制或转载请以超链接形式注明转自 我爱的人叫梓鑫
原文地址《php 模拟浏览器采集curl

已有1位网友发表了看法:

1#shiyi521  2019-06-30 02:35:56 回复该评论
1

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Powered By Z-BlogPHP,Theme By 梓鑫