这个是采集基础,最好熟悉一下
cookie文件设定
curl_setopt($this->ch,CURLOPT_COOKIEJAR,$cookie_file);
curl_setopt($this->ch,CURLOPT_COOKIEFILE,$cookie_file);
额外头部
curl_setopt($this->ch,CURLOPT_HTTPHEADER,array('User-Agent: Mozilla/5.0'));
设定post
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$poststring);
连接、执行过期时间
curl_setopt($this->ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($this->ch,CURLOPT_TIMEOUT,30);
是否跟随301 302
curl_setopt($this->ch,CURLOPT_FOLLOWLOCATION,CURLOPT_MAXREDIRS,10);
refer
curl_setopt($this->ch,CURLOPT_REFERER,$refer);
http版本和端口重用设置
curl_setopt($this->ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($this->ch,CURLOPT_FORBID_REUSE,1);
支持https
curl_setopt($this->ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($this->ch,CURLOPT_SSL_VERIFYHOST,0);
如果需要进行毫秒超时,需要增加:
curl_setopt($this->ch,CURLOPT_NOSIGNAL,1);
执行
$response = curl_exec($ch);
if(curl_errno($ch)){
curl_error($ch);
exit();
}
curl_close($ch);