Бюджет: 500 UAH Срок: 1 день
Понимаю, что вас не устраивает Selenium, но можно попробовать провернуть такое с Playwright.
Всем привет!
Недавно писал небольшой скрипт, и наткнулся на проблему, которую не могу решить уже дня три.
Вся суть описана в данном вопросе на stack overflow: https://stackoverflow.com/questions/77723712/websocket-error-server-rejected-websocket-connection-http-403.
В результате мне нужно получить код, который будет успешно устанавливать WebSocket соединение с сайтом. Можете использовать любую библиотеку в качестве websocket клиента, допустимые языки: C#/NodeJS/Python. Можете даже через TCP сокет попыться это решить, мне без разницы. Но плохие решения, вроде Силениума и тд., меня не интересуют. Выберу первого человека, у которого хотя бы немного привлекательный профиль.
НО говорю сразу, если вы возьметесь за выполнение - будьте уверены, что у вас получится. Прошу не тратить наше время!
Бюджет: 500 UAH Срок: 1 день
Понимаю, что вас не устраивает Selenium, но можно попробовать провернуть такое с Playwright.
Я не профессионал, но, может, кому-то это поможет — часть ошибок пропадает, если передать полностью все куки от реального браузера. Главная проблема там — челенджи cloudfare. Также, если открыть в инструментах разработчика firefox финальный запрос и открыть "Ответ", то увидим "You must have JavaScript enabled to run this app!".
В этой ситуации я бы попытался пропихнуть playwright, который является быстрее селениума, но понимаю, что все таки это решение не идеально...
Надеюсь, кому-то удастся это сделать)
Здравствуйте, посмотрел код и ответы сервера, источник отправки запросов(Origin) должен быть разрешен политикой безопасности dextools.io
Следовательно вам нужно связываться с службой поддержки этого сайта чтобы получить информацию о возможностях подключения к сокету из вне, или использовать Selenium или подобные решения для мониторинга на прямую из браузера.
Других вариантов у вас нет
Вы наверное не корректно меня поняли.
Поинтересуйтесь что такое политика SOP и как она работает.
https://ru.m.wikipedia.org/wiki/Правило_ограничения_домена
А также посмотрите заголовки ответа которые возвращает ваш запрос, и тогда, я надеюсь, вы поймете в чем заключается ваша проблема
Откройте инкогнито режим в хроме, зайдите в джаваскрипт консоль, не открывая страницу сайта, и выполните строку: const ws = new WebSocket("wss://ws.dextools.io/"). Во вкладке network посмотрите на запрос, который вы выполнили, и вы увидите что он успешный, хотя был выполнен с домена, отличного от домена, обозначенного в ссылке на вебсокет.
Это не значит что SOP тут не при чем?
Криптовалюта и blockchain 24 ставки 1 августа
Веб-программирование 68 ставок 29 июля