我尝试使用cURL和Flickr API进行flickr搜索。尝试打印响应时,它会打印“1”。我的代码出了什么问题?
$params = array(
'api_key' => 'b838e46f6e8eada6a62fac7e2b25ffcc',
'method' => 'flickr.photos.search',
'format' => 'php_serial',
'text' =>'cars'
);
$encoded_params = array();
foreach($params as $k => $v){
$encoded_params[] = urlencode($k).'='.urlencode($v);
}
$ch = curl_init();
$timeout = 0; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'https://api.flickr.com/services/rest/?'.implode('&', $encoded_params));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
print_r($file_contents);
curl_close($ch);
$rsp_obj = unserialize($file_contents);
//echo 'https://api.flickr.com/services/rest/?'.implode('&', $encoded_params);
echo print_r($rsp_obj);
答案 0 :(得分:1)
如果cURL无法验证远程站点的证书,那么您可以将CURLOPT_SSL_VERIFYPEER
选项设置为false
,这样就不会尝试这样做。
这当然有一些安全隐患 - 远程站点可能不是他们假装的人,但是如果你只是做一个相当小的关注点,特别是当你现在只在本地测试时。对于服务器上的生产应用程序,您应该考虑解决这个问题,尤其是当您稍后会做一些不是纯搜索的事情时。