0

イントロ
私の質問がより理解しやすいように、例を挙げます。プログラミングに関する「ヘルプ」は必要ありません。このトピックに関する情報だけが必要です。

特定の位置の気象情報を取得するための API
を試してみたところ、問題が発生しました。次のようなデータを要求する URL を作成しました。

$params['q']            = $latitude .','. $longitude; // 48.14,11.58
$params['format']       = $format; //json
$params['num_of_days']  = $numOfDays; //1
$params['key']          = self::APIKEY;

$url = 'http://api.worldweatheronline.com/free/v1/weather.ashx'
$url .= '?'. http_build_query($params);

最終的な URL は次のようになりました

http://api.worldweatheronline.com/free/v1/weather.ashx?q=48.13743%2C11.57549&format=json&num_of_days=1&key=APIKEY

ただし、cURL を使用してこの URL のデータを要求すると、API キーが提供されていないというエラーが表示されました。私が見つけたように、問題は&URL での記号の使用でした。私がこのような方法を使用したときhttp_build_query

$url .= '?'. http_build_query($params, null, '&');

URL は次のようになりました: http://api.worldweatheronline.com/free/v1/weather.ashx?q=48.13743%2C11.57549&format=json&num_of_days=1&key=APIKEY

質問
さて、これがサーバーからの予想される動作であるかどうか、私が聞きたいことは何ですか。他のいくつかの API (Facebook、Foursquare など) から、それらが URL の&代わりに受け入れ、期待どおりに機能することを知っています。&

基準はありますか?サーバーは受け入れることができるべきですか、&それとも受け入れるのは「間違って」おり、受け入れられるべき&ですか? ありがとう!

4

1 に答える 1