@BenoOsipyan https://neuralwriter.com delay skript, polzuysa na zdorovie
Как в GET запросе указать язык сайта?
-
@viktor said in Как в GET запросе указать язык сайта?:
locale en-us. и регион US. В теле кукиса
Да, только он почему-то не всегда срабатывает. Иной раз указываешь в запросе кукис от португальской версии сайта, в тексте написано pt, а запрос отправляется все равно на русскую версию.
Как вообще должны вести себя кукис при многократном заходе на один и тот же сайт: меняются или остаются прежними? По какому принципу их надо устанавливать в запросе, чтобы вызывать как можно меньше подозрений?
-
@senerg
На этот вопрос очень сложно ответить.
Каждый сайт сам решает когда и какие куки записывать/перезаписывать. Плюс, как уже писал выше, куки не панацея. Есть ещё очень много параметров, по которым разные сайты определяют сессию "подозрительной". -
@senerg
К сожалению, нет.
Во-первых, как уже говорил, каждый сайт самостоятельно решает, когда и какие куки ему писать. Т.е. не существует мануалов по записи кук, чтобы обойти любой сайт.
Во-вторых, при использовании http-клиента, задача анонимности решается через внушение серверу, что к нему обращается браузер, если конечно, сайт это вообще как-то отслеживает. Чтобы этого добиться, лично я получаю куки через браузер в басе, а уже потом заливаю их в http-клиент. Самый частый пример - логинимся в браузере, сохраняем куки, загружаем в http-клиент. После этого, как правило, при любом запросе через http-клиент сервер будет думать, что клиент авторизован.В случае с али, тут скорее исключение, т.к. язык клиента чаще всего определяется через заголовок Accept-Language, реже через ip, а не через переменную в куках. Попробуйте не подставлять никакие куки и посмотрите, как реагирует сервер.
Я бы рекомендовал почитать, как взаимодействуют клиент-сервер, что такое вообще post/get-запросы, заголовки и куки.
-
@xclsv said in Как в GET запросе указать язык сайта?:
Спасибо за информацию.В случае с али, тут скорее исключение, т.к. язык клиента чаще всего определяется через заголовок Accept-Language
У меня без строки кукис гет запрос не работает. А язык сайта удается поменять только загрузкой новых кук с уже сохраненным языком сайта, Accept-Language при этом один и тот же и не влияет на язык сайта.
при использовании http-клиента, задача анонимности решается через внушение серверу, что к нему обращается браузер
Значит ли это, что один гет запрос отправлять к сайту не стоит и лучше в басе записать всю серию запросов, которую выполняет браузер при заходе на сайт (штук 50-100) и каждый раз выполнять их все?
-
@senerg said in Как в GET запросе указать язык сайта?:
У меня без строки кукис гет запрос не работает. А язык сайта удается поменять только загрузкой новых кук с уже сохраненным языком сайта, Accept-Language при этом один и тот же и не влияет на язык сайта.
А что происходит, если куки не указать совсем? Версию с каким языком отдает али?
@senerg said in Как в GET запросе указать язык сайта?:
Значит ли это, что один гет запрос отправлять к сайту не стоит и лучше в басе записать всю серию запросов, которую выполняет браузер при заходе на сайт (штук 50-100) и каждый раз выполнять их все?
Нет. Если вы обратили внимание, большая часть этих запросов - загрузка скриптов, изображений, счетчиков и внешних рекламных баннеров. Запросов с контентом, как правило, всего несколько.
Я ещё не встречал такого, чтобы сервер проверял, запрашивал ли я все эти 100500 запросов. У меня все всегда работало лишь для контентных запросов(1-2 штуки). Но это не говорит о том, что какие-то сайты не могут это проверять.
Учиться таким вещам легче на сайтах попроще али =) -
@xclsv said in Как в GET запросе указать язык сайта?:
А что происходит, если куки не указать совсем?
Сам запрос проходит без ошибок, но после него не находит скрипт из которого извлекаю урл:

Can't resolve query //*[@id='j-detail-gallery-main']//script/text() -
@xclsv Все 5, там размер картинок разный для каждого языка. Поэтому пытаюсь получить размер каждой и скачать максимальную. У меня получается выбрать язык в браузере, скопировать от туда заголовки с куками в гет запрос БАСа и таким образом удается получить урл картинок для каждого языка. Но как сделать так, чтобы куки и заголовки менялись и сохранялись после операции пока не разобрался.
-
@senerg
Полагаю, куки каждого из языков нужно получить только один раз. После этого их можно сохранить в переменные и подставлять перед каждым запросом. Так пробовали делать?
Только перед каждым запросом необходимо будет выполнить сброс http-клиента, т.к. он собирает куки с сайта также, как обычный браузер. -
@xclsv Может я не правильно понял... Я копирую вот это:
Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 DNT: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: ru,en-US;q=0.9,en;q=0.8 Cookie: ali_apache_id=11.139.3.114.1539544824211.210354.4; xman_f=VT5i/xhfRGEtXhPbuoyy+mkiTea8y2XOIC+knRvokYQXrTjccoNb2IfbcX00d1WTZwVpgiUgP3oJ1lI9gMmw4uje0Nm+EANgtSW9hac69ZFCmBlEegStIw==; AKA_A2=A; _ga=GA1.2.1139108849.1539544825; _gid=GA1.2.1980666095.1539544825; _ym_uid=1539544825383995269; _ym_d=1539544825; _ym_isad=1; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%0932808065488; _ym_visorc_29739640=b; cna=+oRKFPAE9HECAU3eZNOiy4P9; __utma=3375712.1139108849.1539544825.1539544850.1539544850.1; __utmz=3375712.1539544850.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmb=3375712.1.10.1539544850; xman_us_f=x_locale=en_US&x_l=0; aep_usuc_f=site=glo&c_tp=RUB®ion=RU&b_locale=en_US; _m_h5_tk=738f011176498216d82049416c4581ca_1539547433711; _m_h5_tk_enc=a24fd858cd41e57c2efb64e2864a99ce; intl_common_forever=yan6CSl1iLWZFiNH0b5cwRsio1MTli+dE5s5+cmZhv/WzboIoSwGbw==; _uab_collina=153954554835345347403835; ali_apache_track=; RT="sl=2&ss=1539545542307&tt=3558&obo=0&sh=1539545549498%3D2%3A0%3A3558%2C1539545543837%3D1%3A0%3A1526&dm=aliexpress.com&si=c519c516-0149-422a-950c-2224a005404a&se=900&bcn=%2F%2F364bf6be.akstat.io%2F&ld=1539545549498&r=https%3A%2F%2Fwww.aliexpress.com%2Fitem%2FUSLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin%2F32808065488.html&ul=1539545557573&hd=1539545557604"; isg=BDMz7GF-bBno-SDNQ_r-d3hGwjddaMcqb9akhOXQ1dKJ5FOGbTv1eoF9mkyvxB8iПрямо в гет запрос баса из фидлера. Значит используются эти заголовки и куки только при этом гет запросе и не меняются в дальнейшем. А как тоже самое получить в басе не заходя на сайт, а только по http?
-
@xclsv Я копировал из фидлера, открыв при этом сайт через обычный браузер, не через басовский. Если сделать как вы говорите придется в скрипте дописывать не только загрузку адреса, но еще и клики по языковым настройкам для всех пяти языков сайта.