Задать вопрос
padonnak
@padonnak

Отправка сообщения вконтакте curl как бороться с каптчей?

Скрипт работает раз в пол часа отправляет на один и тот же id сообщение о состоянии сервера
вчера работал было получено около 10 сообщений и вот итог требует ввести каптчу пробовал с других аккаунтов та же фигня.
Как избавится от проверки каптчи?
Ошибка возвращается в $response:
{"error":{"error_code":14,"error_msg":"Captcha needed","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"messages.getLongPollServer"}],"captcha_sid":"166193575288","captcha_img":"http:\/\/api.vk.com\/captcha.php?sid=166193575288","need_validation":1}}


Сам код php:
$url ="https://api.vk.com/method/messages.send?access_token=".$token."&message=".$message."&uid=".$uid."&v=3&captcha_sid=&captcha_key=";

function curl( $url ) {
	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
	curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
	$response = curl_exec( $ch );
    echo $response; 
	curl_close( $ch );
	return json_decode($response , true);
}
curl( $url );
  • Вопрос задан
  • 1799 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@Zafon
Искал решение на эту проблему долгое время , случайно она решилась после того как сайт на котором работал скрипт с VK API хостер перенёс с сервера Украины на сервер в Германию.
Скрипт перестал работать и стал запрашивать при первом же обращении к VK каптчу.
Но пока сайт стоял на сервере в Украине всё работало нормально,установил этот скрипт на другой сайт который находился на сервере в Украине и вуаля - всё работает.
Спрашивается почему? Да потому ,что токен получал пользователь у которого IP был Украинский и скрипт работал с Украинского IP.
Что я сделал - получил токен используя IP Германии.
Зашёл через Германский прокси сервер в ВК,получил токен,ввёл в настройках скрипта новый токен и всё заработало.
Отсюда делаем выводы ,что токен нужно получать с той же страны где работает скрипт или программа.
Если не совпадают то срабатывает система защиты ВК и просят ввести каптчу.
Ответ написан
okwinza
@okwinza
PHP Developer
Варианта на самом деле всего два:
1) Вводить капчу самому
2) antigate.com
Второй самый простой.
Ответ написан
Переведи на телеграм? удобнее же
Ответ написан
@drunkod
$mylink2 = 'https://api.vk.com/method/messages.send?chat_id=2&message='.$mymessage2.'&v=5.37&access_token=c80a06e8899999997777777765422bf';

Я отправляю без курла! И намного чаще! Капчи не было. Может дело в чате?
Ответ написан
Ваш ответ на вопрос

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

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