PHP Curl出现403错误的解决办法
自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问googlebaidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问。
难道googlebaidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(curl_setopt($this->mSh,CURLOPT_VERBOSE,1);)看看,得到以下结果:
* Trying127.0.0.1...*connected *Connectedto127.0.0.1(127.0.0.1)port8118(#0) *EstablishHTTPproxytunneltowww.baidu.com:80 >CONNECTwww.baidu.com:80HTTP/1.0 Host:www.baidu.com:80 User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1) Proxy-Connection:Keep-Alive
<HTTP/1.0403Connectionnotallowable <X-Hint:Ifyoureadthismessageinteractively,thenyouknowwhythishappens,-) < *TherequestedURLreturnederror:403 *ReceivedHTTPcode403fromproxyafterCONNECT *Closingconnection#0 ...Failed.