2014-09-06 4 views
1

Я попытался выполнить поиск flickr с использованием cURL и API Flickr. При попытке распечатать ответ он печатает «1». Что не так с моим кодом?Flickr API поиска фотографий не возвращает ничего

$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

Что вы получаете без 'unserialize' на результат cURL? И используйте 'var_dump' вместо echo, чтобы сделать вывод отладки. – CBroe

+0

@CBroe, rsp_obj = bool (false)/file_contents = bool (false), используя var_dump. – user2997779

+0

Тогда var_dump, что 'curl_getinfo' должен сказать - любые сообщения об ошибках API или что-то в этом роде? – CBroe

ответ

1

Если Curl не может проверить сертификат удаленного сайта, то вы можете установить опцию CURLOPT_SSL_VERIFYPEER в false, так что он не будет пытаться сделать это.

Это, конечно, имеет некоторые последствия для безопасности. Возможно, удаленный сайт не тот, кем они притворяются, но если вы выполняете поиск, это довольно незначительная проблема, особенно если вы только тестируете локально. Для производственного приложения на сервере вы, возможно, должны заглядывать в исправление, особенно, когда вы будете заниматься тем, что позже не является чистым поиском.

 Смежные вопросы

  • Нет связанных вопросов^_^