2013-02-25 62 views
7

如何爲我的cURL請求設置語言標題?例如現在我得到荷蘭語facebook.com的主頁,可能是因爲我的服務器是在荷蘭/默認語言發送標題?..cUrl設置語言標題

我更喜歡英語在這種情況下荷蘭語之前,所以我試圖設置一個httpheader捲曲但我沒有意義?我做錯了什麼,或者我應該設置什麼?

(Zend的符號)

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

提前感謝!

回答

3

您必須在您的請求中添加標題選項。

你有這樣的事情:

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

所有你需要做的就是這一行添加到您的$ options數組:

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

我到達此頁尋找一種方式來傳遞語言頭文件在命令行處捲曲。如果你想在一個bash一行程序設置標題,使用-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

有用的'添加-v',看看有什麼頭被髮送和接收(如果你正在尋找如果服務器用正確的重定向你例如根據指定語言的HTTP代碼)。 – 2017-10-19 08:52:38