簡體   English   中英

我如何CURL www.google.com-它不斷將我重定向到.co.uk

[英]How do I CURL www.google.com - it keeps redirecting me to .co.uk

我正在使用CURL檢查URL是否存在(HEAD請求),但是當我使用www.google.com測試時,它會將我重定向到www.google.co.uk可能是因為我的服務器位於英國。

有沒有辦法可以阻止這種情況的發生? 我不想刪除CURLOPT_FOLLOWLOCATION選項,因為這對於301重定向等很有用。

我的部分代碼如下;

$ch = curl_init();

    // set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
    curl_setopt($ch, CURLOPT_TIMEOUT, 4);

    $output = curl_exec($ch);

    // get data     
$data = curl_getinfo($ch);

當我將$url設置$url www.google.co.uk時, $data['url']包含www.google.com

您需要將curl與cookie一起使用,以模擬瀏覽器中的類似行為。

當您從英格蘭訪問google.com時,它會將您重定向到google.co.uk,但是該頁面上有一個標題為“轉到google.com”的鏈接,可讓您返回google.com並停留在該位置。 它使用cookie來記住您的網站首選項。

例如,這是執行此操作(使用firefox)后獲得的cookie:

替代文字

嘗試訪問www.google.com/ncr ,這樣可以避免重定向到.co.uk(或任何其他國家/地區)頁面。

另一個選擇是僅使用crypton.google.com。 那不會重定向。

有點黑,但是如何使用IP地址呢? http://216.239.59.147/ http://66.102.7.104/

您可以直接使用www.google.co.uk,兩者沒有區別。 google.com/.net始終重定向到您的位置,但是如果您使用.co.uk之類的國家/地區頂級域名,則不會重定向。

使用.com或.net時,我無法阻止重定向。

避免Google決定您所在的國家/地區的一種方法是設置其他IP地址。 只需從Web上獲取許多美國代理服務器之一,然后執行以下操作:

$ch=curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCTION,1); 
curl_setopt($ch,CURLOPT_PROXY,"8.12.33.159");
curl_setopt($ch,CURLOPT_PROXYPORT,"80");
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3");
curl_setopt($ch,CURLOPT_URL,$URI);
$results=curl_exec($ch);
curl_close($ch);

這樣,Google會認為您來自美國IP地址,而不會重定向到本地Google。

您應該關閉curl的跟隨位置(將其設置為false),並且不會再被重定向...

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM