[[Переменная]] == null
Так тоже работает. В кавычки не нужно т.к. это не строка
Как в GET запросе указать язык сайта?
-
@senerg said in Как в GET запросе указать язык сайта?:
Зачем это
Для удобности.
@senerg said in Как в GET запросе указать язык сайта?:
почему ваш гет запрос выглядит именно так, там много букв)
А как ему ещё выглядеть? Сразу хочу уточнить, что я не буду пояснять каждую букву в запросе, откуда она появилась, что значит и зачем там находится... для понимания этого есть тонны всяких книг, курсов и подобное.
-
@senerg есть захват хттп-запросов.
создаешь функцию для того, чтобы в нее писал захватчик.
жмешь красную кнопку в левой части экрана сверху
действие загрузить то, что тебе нужно. Итогом будет штук 50 действий состоящих из пост и гет запросов. Скорее всего нужна пара из них, ведущая на нужный сайт. Скорее всего, в этих запросах будет все нужное -
@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-клиента, т.к. он собирает куки с сайта также, как обычный браузер.
