PHP curl获取内容
因为php原生函数file_get_contents()
无发获取https协议头的url内容(需要mod_ssl
的支持,或安装opensll
)
- windows下的PHP,只需要到php.ini中把
extension=php_openssl.dll
前面的;删掉,重启服务就可以了。 - linux下的PHP,就必须安装
openssl
模块,安装好了以后就可以访问了。 - 使用curl模块获取url的封装函数如下:
/**
* 抓取的url链接内容
* @param string $url 要抓取的url链接,可以是http,https链接
* @param int $second 设置cURL允许执行的最长秒数
* @return mixed
*/
function get_curl_contents($url, $second = 30)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_TIMEOUT,$second);//设置cURL允许执行的最长秒数
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);//当此项为true时,curl_exec($ch)返回的是内容;为false时,curl_exec($ch)返回的是true/false
//以下两项设置为FALSE时,$url可以为"https://login.yahoo.com"协议
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}