0

yahoo maps API からデータを取得するには、どのように cURL を設定すればよいですか?

これが現在のコードです

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

これは 400 - Bad request HTML ファイルを返します。確認$geocodeurlしたところ、これは有効な XML ファイルなので、問題は cURL オプションにあるのではないでしょうか?


$geocodeurl は

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

2 に答える 2

1

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

あなたの質問に答えるには、投稿したURLですべて問題ありませんが、返信で述べたように、パラメータをurlencodeする必要があります

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

ここに私のラッパークラスへのリンクがあります

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

于 2011-05-12T22:10:10.697 に答える
0

いつものように、私は問題を誤認していました。cURL問題はありませんでしたが、q=変数はどのようなurlencode関数でも正しく渡されていませんでした。

Firefox が親切に を に変更したため、私のブラウザで動作しました%20。あなたcURLはもっと注意する必要があります。. . .

于 2011-05-12T21:43:35.787 に答える