変数と文字列を連結して、JSON オブジェクトの形成に使用される URL を形成しようとしています。ただし、有効な JSON 応答を (Wordreference API を使用して) 受け取りますが、変数が連結されている場所で URL を適切に形成してはなりません。
たとえば、次の URL の応答http://api.wordreference.com/[APIKEY]/json/enfr/language
:
{ "Error" : "NoTranslation", "Note" : "No translation was found for language\_\_.\nAucune traduction trouvée pour language\_\_.\n" }
URLが正しく形成され、単語が有効であるように見えても、単語が存在しないことを示す有効な応答があるはずです.URLをブラウザに入力すると、有効な応答が得られます.
language\_\_.
通常のエラー応答 (たとえば、ランダムな無効な単語「qwerty」) は次のようになります。
{
"Error" : "NoTranslation",
"Note" : "No translation was found for qweryty.\nAucune traduction trouvée pour qweryty."
}
最後の文字が唯一の場所qweryty.\n
私が使用しているコードは次のとおりです。
$words = file("words.txt")[rand(0, 5449)];
$url = "http://api.wordreference.com/[APIKEY]/json/enfr/$words";
//I have also tried using $url = "http://api.wordreference.com/[APIKEY]/json/enfr/" . $words";
echo $url . "<br/>";
$json = file_get_contents($url);
echo $json;
PHP の出力は次のとおりです。
http://api.wordreference.com/5d422/json/enfr/language
{ "Error" : "NoTranslation", "Note" : "No translation was found for language\_\_.\nAucune traduction trouvée pour language\_\_." }
(words.txt はhttp://dictionary-thesaurus.com/wordlists/Nouns%285,449%29.txtから取得されます)
注意: 有効な API キーも持っています。質問のためにここで [APIKEY] をサブベッドしました。