这篇文章主要介绍了PHP cURL初始化和执行方法入门级代码,本文直接给出代码示例,代码中包含详细注释,需要的朋友可以参考下
这个是采集基础,最好熟悉一下
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
$ch = curl_init(); # 设定url和把结果返回,是否返回头部 curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->ch, CURLOPT_HEADER, 1);
# 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, 1); curl_setopt($this->ch, 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); |