2012-11-08 31 views
0
$url = "http://search.aol.com/aol/search?q=hello"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); 
$html = curl_exec($ch); 
curl_close($ch); 
echo $html; 

這回:捲曲HTTP/1.1 403禁止訪問日期

HTTP/1.1 403 Forbidden 

Forbidden 

You don't have permission to access /aol/search on this server. 

任何會存取要求得到的結果捲曲設置。

+3

聽起來像不能捲曲aol.com。 – j0k

+0

通過瀏覽器發出對該URL的出站請求,並嘗試使用相同的標題來模擬該URL。 –

+0

嘗試設置'CURLOPT_REFERER'。 – air4x

回答

3

許多服務器將仔細檢查請求頭以確認人正在請求(優選地由瀏覽器代理),而不是自動過程。所有關於未授權訪問其資源的警告,您可以添加一些Accept標頭以獲得200響應。在這種情況下,我只能使用一個額外的標頭獲得200響應:

curl -i \ 
-H 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ 
-H 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11' \ 
http://search.aol.com/aol/search?q=hello 
+0

明白了,謝謝。 –

0

它看起來像AOL不希望任何人在其引擎上運行自動搜索。

大流士