Страница 1 из 1
AJAX + viberbot ...
Добавлено: 2017.10.16, 15:16
wseomix
Стоит у меня такая штука
https://github.com/Bogdaan/viber-bot-php
В одном из OnText нужно выполнить ajax запрос на удаленный сервер и соответственно вернуть результат.
Может кто подскажет хоть в каком направлении копать то?
Re: AJAX + viberbot ...
Добавлено: 2017.10.16, 17:03
zelenin
ajax - это в общем js-понятие. Может обычный запрос?
wseomix писал(а): ↑2017.10.16, 15:16
Может кто подскажет хоть в каком направлении копать то?
в сторону http-клиента
Re: AJAX + viberbot ...
Добавлено: 2017.10.21, 20:59
wseomix
Да вот понимаю, что js ... А есть возможность в пхп сэмулировать клиента с js?
Re: AJAX + viberbot ...
Добавлено: 2017.10.21, 21:29
urichalex
wseomix писал(а): ↑2017.10.21, 20:59
Да вот понимаю, что js ... А есть возможность в пхп сэмулировать клиента с js?
Обычный http запрос
Re: AJAX + viberbot ...
Добавлено: 2017.10.25, 17:22
wseomix
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
В общем все неплохо, есть прогресс, но отчего вайбербот по 3 ответа дает и в вайбер приходит 3 $content
Re: AJAX + viberbot ...
Добавлено: 2017.10.25, 17:24
zelenin
потому что три раза отсылаете
Re: AJAX + viberbot ...
Добавлено: 2017.10.26, 21:54
wseomix
zelenin писал(а): ↑2017.10.25, 17:24
потому что три раза отсылаете
Код: Выделить всё
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
В общем все неплохо, есть прогресс, но отчего вайбербот по 3 ответа дает и в вайбер приходит 3 $content
Сделал так, все равно в вайбер приходит по 4 ответа...
Re: AJAX + viberbot ...
Добавлено: 2017.10.26, 21:56
zelenin
теперь 4 раза отсылаете
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 11:36
wseomix
zelenin писал(а): ↑2017.10.26, 21:56
теперь 4 раза отсылаете
Подскажите где оно 4 раза отсылается?
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 11:44
zelenin
wseomix писал(а): ↑2017.10.27, 11:36
zelenin писал(а): ↑2017.10.26, 21:56
теперь 4 раза отсылаете
Подскажите где оно 4 раза отсылается?
у вас в коде
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 12:08
wseomix
zelenin писал(а): ↑2017.10.27, 11:44
wseomix писал(а): ↑2017.10.27, 11:36
zelenin писал(а): ↑2017.10.26, 21:56
теперь 4 раза отсылаете
Подскажите где оно 4 раза отсылается?
у вас в коде
Простите, не пойму curl_exec только один раз вызывается..
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 12:11
zelenin
wseomix писал(а): ↑2017.10.27, 12:08
zelenin писал(а): ↑2017.10.27, 11:44
wseomix писал(а): ↑2017.10.27, 11:36
Подскажите где оно 4 раза отсылается?
у вас в коде
Простите, не пойму curl_exec только один раз вызывается..
а весь код - 4
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 12:16
wseomix
zelenin писал(а): ↑2017.10.27, 12:11
wseomix писал(а): ↑2017.10.27, 12:08
zelenin писал(а): ↑2017.10.27, 11:44
у вас в коде
Простите, не пойму curl_exec только один раз вызывается..
а весь код - 4
Понимаете в чем штука - если я делаю так:
Код: Выделить всё
$ch = curl_init( $url );
return 'TEST';
exit();
Работает ровно 1 раз...
Re: AJAX + viberbot ...
Добавлено: 2017.10.27, 12:18
zelenin
wseomix писал(а): ↑2017.10.27, 12:16
zelenin писал(а): ↑2017.10.27, 12:11
wseomix писал(а): ↑2017.10.27, 12:08
Простите, не пойму curl_exec только один раз вызывается..
а весь код - 4
Понимаете в чем штука - если я делаю так:
Код: Выделить всё
$ch = curl_init( $url );
return 'TEST';
exit();
Работает ровно 1 раз...
значит и сообщение вам приходит 1 раз. Либо вы неверной логикой пользуетесь.