Задать вопрос
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
  • Вопрос задан
  • 4291 просмотр
Подписаться 6 Оценить Комментировать
Решения вопроса 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 что гарантирует отправку многострочных запросов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы