@Q_Q К сожалению через node.js и ws модуль не могу конектится к сокету т.к там каждый раз создаётся уникальная ссылка для нового пользователя, а объект который её создаёт определить для меня трудно сайт написан на react + obfurscator. Плюс к этому ещё и в самом ws внутри нужно каждые 5 минут отправлять токен аутентификации который генерирует какая-то анонимная функция либо вообще на сервере. Вроде ещё как можно сделать обёртку или сделать прокси чтобы свои обработчики повесить но это уже вообще темный лес для меня недостижимый. Поэтому пришлось использовать такой костыль. В Принципе все работает, ws команды я отправляю также через Ява скрипт и взаимодействую с этим сайтом быстро не используя веб интерфейс сайта вообще. Единственная проблема это видеть всю консоль не только в режиме отладчика. Я думал может в BAS есть какой-то свой способ о котором я не знаю, просто парсить ее в переменную бесконечно каждый раз обращаясь к ней и записывая последнее действие по умолчанию
На php запрос уходит в BAS нет
-
Привет коллеги.
Может у кого подобная ошибка возникала.Есть скрипт на php который чисто отправляет запрос в несколькими параметрами, вот сам код:
<?php // Выполнять код нужно двумя отдельными скриптами, сначала запрашиваем sms-код, а в следующем скрипте передаем его для подтверждения // getcode.php // 1 этап - отправляем запрос на получения кода в Телеграм приложении $apiUrl = 'https://api-public.bosslike.ru'; $pubKey = 'abfa1a6c32806c2c945b302c89022a35d572c36bc0729e21'; $method = 'POST'; $url = '/v1/bots/users/me/social/auth/phone/'; $headers = [ 'X-Api-Key: '.$pubKey ]; $body = [ 'service_type' => 8, 'phone_number' => '79670402563', ]; $curl = curl_init(); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_URL, $apiUrl.$url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($body)); $response = json_decode(curl_exec($curl), true); echo $response; var_dump($response); if (isset($response['success']) && $response['success']) { $token = $response['data']['token']; } echo $token; ?>на php всё работает.
В BAS запрос с этими же параметрами постояно выдаёт ошибку 401Данные в BAS
Url: https://api-public.bosslike.ru/v1/bots/users/me/social/auth/phone/ Method: POST Cookie: __cfduid=d4508a57fd01353db30f3f903d58410401609098733 X-Api-Key: abfa1a6c32806c2c945b302c89022a35d572c36bc0729e21 Content-Type: application/x-www-form-urlencoded Accept: */* phone_number=79670402563&service_type=8отдаёт
Url: https://api-public.bosslike.ru/v1/bots/users/me/social/auth/phone/ Status: 401 Date: Sun, 27 Dec 2020 21:21:12 GMT Content-Type: application/json; charset=UTF-8 Content-Length: 215 Connection: keep-alive X-Powered-By: PHP/7.2.32 Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: https://api-public.bosslike.ru Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS Access-Control-Allow-Headers: Content-Type, Authorization, Signature, X-Api-Key, X-Api-Signature, X-Api-Timestamp, X-Device-Id, X-User-Agent CF-Cache-Status: DYNAMIC cf-request-id: 0747acb8c800008474f783f000000001 Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=t7KHivrYt45XVLeMT2biyVVY2aTk43w3qz5mUZZH9j2NXvCNBfPIDJRBvuv1pwUhLzoTVEFu%2BBbjPU%2F%2Fn8MFYrRB8rfJ62kfONvvT83sdbRzHjiG04hA"}],"group":"cf-nel","max_age":604800} NEL: {"report_to":"cf-nel","max_age":604800} Server: cloudflare CF-RAY: 60861707a9708474-LED {"status":401,"success":false,"errors":[{"code":401,"message":"\u041d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443"}]} -
@Lex said in На php запрос уходит в BAS нет:
читай текст ошибки. "Нет доступа к данному методу"

{"status":422,"success":false,"errors":[{"code":1040,"message":"\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 15 \u0447."}]}
"Слишком много попыток авторизации. Следующая попытка будет доступна через 15 ч."
ну и в басе есть curlwrapper -
@artihorror как я понял ты выполнял код через действие "POST запрос", можешь скинуть это кубик на котором тестил этот запрос который выдал такую ошибку?
у меня всегда 401 выдаёт, параметры теже что и у тебя, может бас у меня глючит или что-то ещё...