Nasıl www.google.com kıvırmak yok -. Bunu co.uk beni yönlendirme tutar

7 Cevap php

Ben bir URL (HEAD isteği) varlığını kontrol etmek için CURL kullanıyorum ama www.google.com ile test ettiğinde, bu kadar www.google.co.uk beni yönlendirir - benim sunucu İngiltere merkezli muhtemelen çünkü .

Eğer bunun olmasını durdurabilirsiniz bir yolu var mı? Bu 301 yönlendirmeler vs için yararlı olduğu gibi CURLOPT_FOLLOWLOCATION seçeneği kaldırmak istemiyorum

Benim kod parçası aşağıda;

$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);

$data['url'] ihtiva www.google.co.uk I ayarlandığında $url olarak www.google.com

7 Cevap

Eğer bir tarayıcı benzer bir davranışı taklit bir çerez ile curl kullanmanız gerekir.

Eğer İngiltere'den google.com ziyaret ettiğinizde, ancak "google.com gidin" geri google.com geçelim o ve orada kalmak başlıklı bu sayfada bir bağlantı var, sen google.co.uk yönlendirir. Bu site tercihlerini hatırlamak için bir çerez kullanır.

Örneğin, burada ben bunu yaptıktan sonra (firefox kullanarak) sahip kurabiyeler:

alt text

www.google.com/ncr, bu. Co.uk (veya herhangi bir diğer ulusal) sayfasına yönlendirme kaçınmak gerekir erişmeyi deneyin.

Başka bir seçenek, sadece encrypted.google.com kullanmaktır. Bu yönlendirme olmaz.

A kesmek biraz, ama nasıl bir IP adresi kullanarak? http://216.239.59.147/ http://66.102.7.104/

Siz, doğrudan hiçbir fark www.google.co.uk kullanabilirsiniz. google.com / .net her zaman yere yönlendirmek ancak sizin gibi bir ülke adı kullanabilirsiniz eğer. onu yönlendirme olmaz co.uk.

. Com veya. Net kullanırken yönlendirme önlemek için (benim için bilinir) yolu yoktur.

Sana ne ülke karar Google'ı önlemek için bir yolu, farklı bir IP adresi ayarlama gereğidir. Sadece Web'den birçok ABD proxy sunucularından birini almak ve böyle bir şey yapmak:

$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);

Bu şekilde, Google, ABD IP adresini oluşturmak gelip bir yerel Google'a yönlendirmek değil düşünürler.

Sen kıvrılma (ayarlamak false) dan takip yerini kapatmak gerektiğini ve artık yönlendirilecek değil ...

   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);