С помощью:
хостингер бесплатно
php 5.5.26
скручивание включено 7.19.7
«laravel / framework»: «5.2. *» и «vladkens / vk»: «^ 0.1.9»
Я получаю ложный ответ (bool(false)
) используя эту функцию:
private function request($url, $method = 'GET', $postfields = array())
{
curl_setopt_array($this->ch, array(
CURLOPT_USERAGENT =>"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => ($method == 'POST'),
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_URL => $url
));
return curl_exec($this->ch);
}
С помощью curl_getinfo($this->ch)
получить эти данные отладки:
array(23) { ["url"]=> string(251) "https://api.vk.com/method/audio.search.json?access_token={{access_token}}&api_id={{api_id}}&q=21+Hunter+Hayes&random=1014×tamp=1453393550&v=2.0&sig={{sig}}" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(0) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0) ["namelookup_time"]=> float(0) ["connect_time"]=> float(0) ["pretransfer_time"]=> float(0) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["redirect_url"]=> string(0) "" ["primary_ip"]=> string(0) "" ["certinfo"]=> array(0) { } }
И если я использую из этого массива прямо в браузере url
Значение я получу надлежащим ответом api.vk.com с данными.
Что мне не хватает?
ОБНОВИТЬ:
Получение этого сообщения couldn't connect to host
с помощьюecho $error = curl_error($this->ch);
Вы, кажется, не можете подключиться к Интернету с вашего сервера.
Это звучит как проблема с брандмауэром.
Перейдите на свою панель и убедитесь, что нет правил брандмауэра, запрещающих доступ к внешним веб-сайтам. Это может быть ограничение из-за вашего хостинг-плана.
Других решений пока нет …