2013-02-25 11 views
7

Jak ustawić nagłówek języka dla mojego żądania cURL? na przykład teraz dostaję stronę główną facebook.com w języku holenderskim, prawdopodobnie dlatego, że mój serwer znajduje się w Holandii/domyślny język jest wysyłany przez nagłówki? ..cUrl ustawiony nagłówek języka

Wolę angielski przed holenderskim w tym przypadku, więc próbowałem ustawić httpheader w curl ale nie mam żadnego sensu? Co mam zrobić źle lub co powinienem ustawić?

(notacja zend)

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

Z góry dzięki!

Odpowiedz

3

Musisz dodać opcję nagłówka w żądaniu.

Trzeba będzie coś takiego:

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

Wszystko co musisz zrobić, to dodać tę linię do tablicy $ options:

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

przyjechałem na tej stronie, patrząc na drodze do przekazać nagłówek języka, aby zwinął się w wierszu poleceń. Jeśli chcesz ustawić nagłówki w bash jednego-liner, użyj -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

Przydatne dodać '-V' zobaczyć co nagłówki są wysyłane i odbierane (jeśli szukasz, jeśli serwer przekierowuje z prawem Kod HTTP zgodnie z określonym językiem na przykład). –