![](/img/trans.png)
[英]How do I CURL www.google.com - it keeps redirecting me to .co.uk
[英]configure curl to get www.google.com
如何使用php curl正確獲取curl響應。 我試圖更改一些請求標頭和用戶代理
GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Host: www.google.com
Accept: */*
Accept-Encoding: gzip,deflate,sdch
但它無法正常工作,出現302錯誤
HTTP/1.1 302 Found
Location: http://www.google.co.in/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=30a99703e541807e:FF=0:TM=1324467004:LM=1324467004:S=0VlXyYEJtxKQ_Pqk; expires=Fri, 20-Dec-2013 11:30:04 GMT; path=/; domain=.google.com
Date: Wed, 21 Dec 2011 11:30:04 GMT
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
我得到的html輸出是
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/">here</A>.
</BODY></HTML>
如何像使用瀏覽器一樣使用php curl獲取和發布數據。
這是我的curl_setopt
php代碼
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, " Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate,sdch');
將cURL CURLOPT_FOLLOWLOCATION
選項設置為true
:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
將指示cURL跟隨服務器發送的任何“ Location:”標頭。 文檔中提供了更多信息。
HTTP/1.1 302 Found
Location: http://www.google.co.in/
告訴您轉到http://www.google.co.in/獲取內容,因此您必須在此處執行另一個cURL序列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.