我正在尝试连接一个变量和一个字符串以形成一个 URL,该 URL 将用于形成一个 JSON 对象。但是,尽管我收到了一个有效的 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] 中加入了这个问题。