一个小采集程序无法运行了,打来原网站发现使用了cloudflare的保护服务。
经过一阵忙活让采集程序恢复了。
打开chrome查看跳转后的http信息,获取cookie字符串,如
__cfduid=df9ea159a1b1833b1d124576ec5ec682f1489310399; _popfired=1; cf_clearance=5f8173592071f4dad5c7b46702365fcf8249f214-1493185177-1800; sc_is_visitor_unique=rx10571718.1493186070.0CFEEEEFC3F4F5AA7A9719EC80CB35C.1.1.1.1.1.1.1.1.1
将该字符串复制到curl请求的header中
[php]
$header[]= 'Cookie:'.$cookie_str;
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
[/php]
需要注意的是ua需要和浏览器保持一致
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);