使用 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
在这种情况下总是有用的,查看实际值,而不是浏览器将其解释为什么。
在我的应用程序中,我正在做一些工作来构造一个查询字符串以通过 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
在这种情况下总是有用的,查看实际值,而不是浏览器将其解释为什么。