2011-05-11 5 views
0

yahooマップapiからデータを取得するためにcURLを設定する方法を教えてください。不正な要求HTMLファイル -yahoo maps api curl settings

はここで、現在のコード400を返します

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

です。私は$geocodeurlをチェックしました、そしてそれは有効なXMLファイルです、私は問題がcURLオプションでなければならないと思いますか?


の$ geocodeurlは、私は問題を誤認していたいつものように

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

URLの前にhttp://(またはhttps://)を使用していますか?あなたは$ geocodeurlを共有する可能性があります –

+0

@Topener - shared – jisaacstone

答えて

0

OKです。 cURLは問題ありませんでしたが、q=変数が正しく機能していませんでした(urlencode)。

Firefoxが親切に%20に変更したため、私のブラウザで作業しました。 cURLでは、より注意する必要があります。 。 。 。

1

私は基本的なアドレスをPHPオブジェクトとして取得するための簡単なクラスラッパーを作成しました。私はまた、Googleのジオコーディングラッパーを追加しました。

あなたの質問に答えるために、すべてはあなたが投稿したURLでOKですが、お返事に述べたようにはい、あなたがここでのparams

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

をURLENCODE必要がありますが、私のラッパークラス

へのリンクですhttps://github.com/mrpollo/Geocoding-API