我百度了一下两种解决方案
1、 在curl加入禁止https的,然而,没什么反应
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
2、在apache的http.conf中加入
EnableSendfile off
EnableMMAP off
两种办法都无济于事,我没有大批量的抓页面,只是抓一个搜索页面咋会这样,求大神帮助呀
我的是win服务器
下面是我的代码:
$url = 'http://www.baidu.com/s?wd=' . urlencode( "site:" . $input . $key );
$data = array();
$header = array();
$response = $this->doCurl( $url, $data, $header, 5 );
public function doCurl( $url, $data = array(), $header = array(), $timeout = 30 ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $header );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec( $ch );
if ( $error = curl_error( $ch ) ) {
die( $error );
}
curl_close( $ch );
return $response;
}