2013-08-21 14 views
0

我試圖使用cURL檢索Google日曆XML以將其顯示在我的應用程序中。
壓光機是公共的,它可以通過瀏覽器直接訪問: https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basicPHP cURL的Google日曆以德語返回字符串

當我試圖從我的程序得到它,它是在德國奇怪返回。這是

enter image description here

下面是我的代碼:

$xml = NULL; 
$url = 'https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic'; 

$crl = curl_init(); 
curl_setopt ($crl, CURLOPT_URL, $url); 
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 15); 

$xml = curl_exec($crl); 
curl_close($crl); 

echo '<pre>'; 
print_r($xml); 
exit;  
if($xml){  
    $xml = simplexml_load_string($xml); 
}  

當URL從瀏覽器中運行,它在英語中被返回。我認爲這是因爲服務器上的cURL代理設置,然後我嘗試添加這兩行,但沒有任何意義。

curl_setopt ($crl, CURLOPT_HTTPGET, TRUE); 
curl_setopt ($crl, CURLOPT_HTTPPROXYTUNNEL, FALSE); 

任何想法?請幫忙。

+2

附加網址'... /基本HL = en'? – Bora

+1

您的服務器位置可能是原因。但正如Bora所說,它是一種簡單的解決方案,以特定的語言提出請求。 – CharliePrynn

+0

@博拉,是的,'?hl = en'確實有效。謝謝!你爲什麼不添加答案?但是我想知道爲什麼當我從瀏覽器運行時,如果沒有'hl = en',它會以英文返回。是因爲我的位置? – Sithu

回答

2

附加到網址?hl=en

$url = 'https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic?hl=en'; 

原因這是@CharliePrynn說:你的服務器的位置可能是原因