2013-02-25 30 views
7

CURL isteğim için bir dil üstbilgisini nasıl ayarlayabilirim? Örneğin. Şimdi Hollandalı facebook.com anasayfası olsun, muhtemelen sunucum Hollanda/varsayılan dil üstbilgileri tarafından gönderiliyor mu? ..cUrl set dil başlığı

Ben bu durumda Hollandalı önce ingilizce tercih ederim bu yüzden kıvrılmış bir httpheader ayarlamaya çalıştım ama anlamsız mıyım? Neyi yanlış yapıyorum ya da ne yapmam gerekiyor?

(zend notasyonu) önceden

CURLOPT_HTTPHEADER => 'Accept-Language: en-US;q=0.6,en;q=0.4', 

teşekkürler!

cevap

3

İsteğinize başlık eklemek zorundasınız.

Böyle bir şey olacaktır:

$options = array(
    CURLOPT_RETURNTRANSFER => true,  // return web page 
    CURLOPT_HEADER   => false, // don't return headers 
    CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
    ..... 

$ch  = curl_init($url); 
curl_setopt_array($ch, $options); 
$content = curl_exec($ch); 
$err  = curl_errno($ch); 
$errmsg = curl_error($ch); 
$header = curl_getinfo($ch); 
curl_close($ch); 

yapmanız gereken tek şey $ seçenekler dizisine bu satırı ekleyin: Ben Bu sayfaya ulaşmış

CURLOPT_HTTPHEADER  => array("Accept-Language: en-US;q=0.6,en;q=0.4"), 
9

bir şekilde arayan komut satırında kıvrılmak için dil üstbilgisini geçirin. Bir bash tek poşetine başlıklarını ayarlamak istiyorsanız, sunucu hakkı ile yönlendirir eğer arıyorsanız (gönderilen ve alınan hangi başlıkları görmek için `-v` eklemek için -H Accept-Language

$ curl -s -H 'Accept-Language: es' -XGET "http://www.google.com" 

<!doctype html> 
    <html itemscope="" itemtype="http://schema.org/WebPage" lang="es-419"> 
    <head> 
     <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> 
     <meta content="/logos/doodles/2016/united-states-elections-2016-4829342880235520-hp.gif" itemprop="image"> 
     <meta content="Tu voz importa. �Encuentra tu casilla y vota! g.co/elections/dondevotar #Everyonein2016 #GoogleDoodle" property="og:description"> 
     ... 
+0

Faydalı kullanmak Örneğin, belirtilen dile göre HTTP kodu). –