使用 Flickr 照片搜索时出错 api:无效的 API 键(键的格式无效)

Error using Flickr photos search api: Invalid API Key (Key has invalid format)

在我的应用程序中,我正在做一些工作来构造一个查询字符串以通过 Flickr API 调用,结果是这样的:

https://api.flickr.com/services/rest/?format=json&api_key={MY API KEY}&method=flickr.photos.search&tags=happy%2Cdog

在浏览器中请求它工作正常,但是,使用 curl returns 请求相同的查询时出错:

jsonFlickrApi({"stat":"fail","code":100,"message":"Invalid API Key (Key has invalid format)"})

这是我的 curl 代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_URL, $this->query);
$result = curl_exec($ch);
curl_close($ch);

如果将您的系统生成的 URL 复制并粘贴到浏览器中时它可以正常工作,那么一定有什么不同。

您的调试输出可能被解释为 HTML,因此如果某处存在错误的 & 而不是 &,它仍然 看起来 类似于 &,也被复制并粘贴为 &

htmlspecialchars 在这种情况下总是有用的,查看实际值,而不是浏览器将其解释为什么。