Задать вопрос
Kozack
@Kozack
Thinking about a11y

Как использовать VK API средствами php?

Банальный пример:
$params = array(
			'user_ids' => 1,
		);
		$url = 'https://api.vk.com/method/users.get'.http_build_query($params);
		$res = file_get_contents($url);

Но получаю ошибку:

Warning: file_get_contents(https://api.vk.com/method/users.get?user_ids=1): failed to open stream: Connection refused
  • Вопрос задан
  • 4309 просмотров
Подписаться 6 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Скорее всего ip Вашего сервера забанен ВК. Такое очень возможно, если у Вас shared-hosting, а не vps. Проверьте просто через file_get_contents("vk.com")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Комментировать
@Wily
<?php
$params = array(
     'user_ids' => 1,
 );
$url = 'https://api.vk.com/method/users.get?'.http_build_query($params);
$res = file_get_contents($url);
Ответ написан
Комментировать
@entermix
Попробуйте использовать незащищенное соединение, т.е. не https, а http
Ответ написан
Комментировать
function getUrl($url, $params) {
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36');
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}

function getMethod($method, $params) { 
	$url = method_url.$method;
	$params = http_build_query($params)."&lang=".method_lang;
	$response = getUrl($url, $params);
	return json_decode($response, true);
}


Использование:
$params = array('access_token' => "token");
	$result = getMethod("vk.method", $params);


vk.method - метод который используете.

cURL через Post что гарантирует отправку многострочных запросов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽