2011-05-11 49 views
0

我應該如何配置cURL從雅虎地圖API檢索數據?雅虎地圖API捲曲設置

下面是當前的代碼

curl_setopt($ch, CURLOPT_TIMEOUT, 5000); 
curl_setopt($ch, CURLOPT_URL, $geocodeurl); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = curl_exec($ch); 

它返回一個400 - 錯誤請求HTML文件。我檢查了$geocodeurl,它是一個有效的XML文件,所以我認爲問題必須是cURL選項?


$ geocodeurl是

http://where.yahooapis.com/geocode?appid=** My App ID **&q=Battle%20Creek,MI&gflags=R 
+0

您是否使用URL前面的http://(或https://)?也許你可以分享$ geocodeurl – 2011-05-11 17:35:23

+0

@Topener - 分享 – jisaacstone 2011-05-11 17:43:02

回答

0

OK像往常一樣我曾誤的問題。 cURL很好,但q=變量沒有正確地通過任何種類的urlencode函數。

在我的瀏覽器中工作,因爲Firefox將更改爲%20。用cURL你需要更加小心。 。 。 。

1

我寫了一個簡單的類包裝來獲取作爲php對象的基本地址,這可能會幫助您完成工作!我還添加了谷歌地理編碼包裝。

回答你的問題,一切都確定了您發佈的網址,但是是因爲你對你的答覆中提到,你應該進行urlencode的PARAMS

$query = $this->url."?appid=".$this->appid."&flags=".$this->format; 
$query .= "&location=".urlencode($address); 

這裏是一個鏈接到我的包裝類

https://github.com/mrpollo/Geocoding-API