Как работает редирект в экшине GET/POST?

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Здравствуйте!
Хочу прояснить для себя логику работы экшина GET с установленной галочкой редирект.
кукии.png

Допустим отправляю я запрос на страничку сайта https://site.ru
Сайт возвращает в заголовках ответ 302 и устанавливает куки, после чего перенаправляет на страничку https://site.ru/1.php, которая также возвращает 302 редирект, но уже не устанавливает куки, но перенаправляет на страничку https://site.ru/2.php которая уже возвращает ответ 200 и выдает контент + куки.

Примерная схема:
пример-схема.png

Так вот собственно вопрос - установленная галочка в данном экшине гарантирует, что Зеннопостер найдет эти куки и использует их при отправке запроса на url на который перенаправляет 302 редирект?

Или если есть необходимость чтобы в процессе использовались данные куки - значит необходимо снимать галочку с редиректа, ловить ответ в переменную, самостоятельно извлекать оттуда куки, устанавливать их и уже тогда отправлять запрос на url на который перенаправляет 302 редирект?

---

Также хочу обратить внимание на заголовок Host: site.ru
Когда проект выполняется в браузере - данный заголовок есть (смотрю в мониторинг трафика)
Когда запрос отправляется через экшин GET - данного заголовка нет.
На некоторых сайтах когда его указывал в поле ниже юзер-агента - все отрабатывало отлично (хотя в мониторинге трафика я его не видел).
Но, встретился с ситуацией, когда в браузере сайт работает, а при отправке запроса экшином GET сразу же 403 ошибка (доступ запрещен), хотя отличие в запросах браузера и теми которые отправляю экшином GET только в заголовке Host.

Отсюда выходит второй вопрос - экшин GET самостоятельно берет домен с URL на который мы отправляем запрос и формирует Host и дополнительные действия с нашей стороны не требуются, или же необходимо его передавать в каком-то конкретном виде, чтобы он отображался корректно в мониторинге трафика?
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
хост подхватывает сам, раньше куки при редиках не подхватывались точно, сейчас не знаю точно. Через монитор лучше траф не смотреть. Какой-нибудь фиддлер будет лучше
 
  • Спасибо
Реакции: BAZAg

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Тоже сталкивался с подобным, не углублялся. Хз как там происходит.
Ставь фиддлер, настрой там в нем сертификаты для https для норм работы. Ну и прокси в проекте поставь http://127.0.0.1:8888 , чтобы через фидлер все полностью шло. Если надо внешний прокси, то там уже в фидлере можно прописать руками (Options - Gateway).
Я искал альтернативы для гет-запросов в зенке с автоматическим сохранением\передачей всего набора кукис, так пока на xNet остановился, вроде получается методом тыков работать с ней. Но эта библиотека больше не обновляется, сайт автора с документацией пропал, по форумах программистских мало инфы. Надо будет тут поделиться методами извлечения, редактирования базы кукис в xNet, а то у меня скоре-всего через попу все, может кто подправит, практики вроде есть на форуме http://zennolab.com/discussion/threads/besplatnye-snipety-na-zakaz.23450/page-22#post-256493.
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Фиддлер стоит...
В нем показывает, что Host передается что браузером что экшином GET.
Но в мониторинге трафика при отправке GET - Host не отображается.
Если бы не перебрасывало на 403 то я бы особо не заморачивался (до этого момента не видел разницы что он есть, что его нет...).

Я тут подумал, что если уж мониторинг трафика не видит этого заголовка, то возможно и сайт его не видит (фиддлер может быть знает что там всегда должен быть этот заголовок и рисует его самостоятельно...).

С внешними библиотеками возможно можно работать, но они вызывают у меня еще больше вопросов на которых сложнее найти ответы.
А используя стандартные функции Зеннопостера как минимум можно зайти сюда на форум, спросить и получить ответ...

Впрочем указываю сейчас заголовок Host в поле для ввода User-Agent, но не уверен, что это правильно...
Я просто вот что думаю, если домен сайта www.domen.ru например, то хост автоматически будет именно www.domen.ru, а возможно сайт в этом случае желает получить просто domen.ru.

По поводу галочки редиректа - то видимо куки все же не подхватываются и есть смысл снимать её и имитировать всю цепочку запросов...
Хотя, не плохо было бы, чтобы они подхватывались и присоединялись к кукам, которые установил пользователь...

И совсем не по делу, но заметил следующий момент - когда загружается страничка в браузере, то параллельно с HTML страничкой отправляется еще несколько запросов, которые подгружают CSS + JS.
Так вот, когда я (после создания этой темы) начал перед ключевым запросом отправлять два запроса на загрузку CSS + JS (чисто заголовки и в дальнейшем ничего не брал с переменных в которые сохранился результат), после чего уже делаю ключевой запрос (который собственно мне и нужен) из снятой галочкой "редирект", после чего самостоятельно выстаскиваю куки и делаю последний запрос на получение контента - то все отрабатывает как часы и на 403 не перебрасывает...

Собственно уже на фоне этого делаю вывод, что если на сайте стоят скрипты от BLAZINGFAST - то есть смысл отправлять запросы ко всем скриптам и CSS, так как эта штука видимо проверяет очередность загрузки контента, и если она не совпадает с каким-то эталоном - перенаправляет на ошибку 403.
 
  • Спасибо
Реакции: orka13

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Фиддлер стоит...
В нем показывает, что Host передается что браузером что экшином GET.
Но в мониторинге трафика при отправке GET - Host не отображается.
Если бы не перебрасывало на 403 то я бы особо не заморачивался (до этого момента не видел разницы что он есть, что его нет...).

Я тут подумал, что если уж мониторинг трафика не видит этого заголовка, то возможно и сайт его не видит (фиддлер может быть знает что там всегда должен быть этот заголовок и рисует его самостоятельно...).

С внешними библиотеками возможно можно работать, но они вызывают у меня еще больше вопросов на которых сложнее найти ответы.
А используя стандартные функции Зеннопостера как минимум можно зайти сюда на форум, спросить и получить ответ...

Впрочем указываю сейчас заголовок Host в поле для ввода User-Agent, но не уверен, что это правильно...
Я просто вот что думаю, если домен сайта www.domen.ru например, то хост автоматически будет именно www.domen.ru, а возможно сайт в этом случае желает получить просто domen.ru.

По поводу галочки редиректа - то видимо куки все же не подхватываются и есть смысл снимать её и имитировать всю цепочку запросов...
Хотя, не плохо было бы, чтобы они подхватывались и присоединялись к кукам, которые установил пользователь...

И совсем не по делу, но заметил следующий момент - когда загружается страничка в браузере, то параллельно с HTML страничкой отправляется еще несколько запросов, которые подгружают CSS + JS.
Так вот, когда я (после создания этой темы) начал перед ключевым запросом отправлять два запроса на загрузку CSS + JS (чисто заголовки и в дальнейшем ничего не брал с переменных в которые сохранился результат), после чего уже делаю ключевой запрос (который собственно мне и нужен) из снятой галочкой "редирект", после чего самостоятельно выстаскиваю куки и делаю последний запрос на получение контента - то все отрабатывает как часы и на 403 не перебрасывает...

Собственно уже на фоне этого делаю вывод, что если на сайте стоят скрипты от BLAZINGFAST - то есть смысл отправлять запросы ко всем скриптам и CSS, так как эта штука видимо проверяет очередность загрузки контента, и если она не совпадает с каким-то эталоном - перенаправляет на ошибку 403.
О том, что дожны подхватываться куки, говорилось много раз(
Чтобы узнать, какие запросы необходимы, я просто пользуюсь политикой содержимого или как-то так по трафику. Сначала выключаешь всё, кроме основных запросов и переходишь через веб куда надо. Если что-то не так - начинаешь политику высвобождать понемногу, пока не определишь, какие запросы необходимы
 
  • Спасибо
Реакции: lzlmrf и BAZAg

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
2 031
Благодарностей
1 286
Баллы
113
Точно знаю, на примере ВК, что если передаешь полностью ВСЕ заголовки, то галочку "Ридерект" лучше убрать и работать с каждым шагом, но если оставляешь в заголовках основное и юзерагент, то ридерект можно ставить. Куки подхватывает, если они указаны в экшене (судя по тестам), если ошибаюсь, поправьте :-)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Точно знаю, на примере ВК, что если передаешь полностью ВСЕ заголовки, то галочку "Ридерект" лучше убрать и работать с каждым шагом, но если оставляешь в заголовках основное и юзерагент, то ридерект можно ставить. Куки подхватывает, если они указаны в экшене (судя по тестам), если ошибаюсь, поправьте :-)
А если сайт по пути предполагает установку куков (вот нет куков при первом запросе - а уже через парочку редиректов их требуют установить)?
Выглядит так, что все таки не подхватывает самостоятельно...
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Хочу прояснить для себя логику работы экшина GET с установленной галочкой редирект.
вот 2 скрина
1) где простой запрос через браузер
2) через curl тот же самый GET как зенке
и да там тоже секция Host: подтягивается и кукисы есть для этого хоста

P.S. Может быть подкинул идеи для размышлений
 

Вложения

  • 111,4 КБ Просмотры: 67

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
вот 2 скрина
1) где простой запрос через браузер
2) через curl тот же самый GET как зенке
и да там тоже секция Host: подтягивается и кукисы есть для этого хоста

P.S. Может быть подкинул идеи для размышлений
Вы продемонстрировали что при выполнении запроса в результате выполнения редиректов в переменной будет результат, с которого мы можем взять куки и уже дальше их использовать.
Но, на скриншоте я не вижу, чтобы при переходе по URL Location использовались данные куки в заголовке запроса.
Поправьте, если я ошибаюсь.

Сам факт что в результате выполнения редиректов мы получим все заголовки запросов и их содержимое - так и есть.
Но когда производится несколько редиректов, а после каждого вешаются куки - то на сколько я понимаю куки все таки не передаются по перенаправляемому URL (Зеннопостер данным кубиком не парсит куки и не передает их вместе с гет запросом на URL Location).
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Если я не путаю то куки можно привязывать к хосту или поддомену, а значить рано или поздно на каком-то редиректе должны все быть загружены.
Но куки так же могут затираться новыми значениями исходят из какой-то логике разработки сайт , при этом от пользователя ничего не требуется это касается работы в браузере.

Получается в случае с (GET POST) надо реализовывать и создать все эту сетевую цепочку самому в ручную.

А редиректы в кубике могу предположить это как вспомогательный инструмент.

P.S. По хорошему это надо потестить на сервере, с использованием htacces для переадресации, и с php для записи и чтения куков.
Это если вы прям очень озадаченны данным вопросом.

Такой тошнотворный контроль за куками и редиректами может придумать только очень крупный сервис я прав?
Типа новая борьба с ботами
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
Получается в случае с (GET POST) надо реализовывать и создать все эту сетевую цепочку самому в ручную.
Я это понимаю. Только хочу точно знать как работает этот кубик (например если он перехватывает куки на редиректе, а мне нет нужды передавать куки - то буду галочку снимать и наоборот).
А редиректы в кубике могу предположить это как вспомогательный инструмент.
Думаю эта галочка действительно как вспомогательный инструмент - в случае если нет разницы какие куки - то проходим всю цепочку перенаправлений.
Но дополнительная опция обработки куков думаю не помешала бы, если её нет (пока опровержения этого также нет).

P.S. По хорошему это надо потестить на сервере, с использованием htacces для переадресации, и с php для записи и чтения куков.
Это если вы прям очень озадаченны данным вопросом.
К сожалению я в этом не настолько сильно разбираюсь, чтобы самостоятельно построить такие цепочки и потом протестировать работу Зеннопостера в том или ином виде.

Такой тошнотворный контроль за куками и редиректами может придумать только очень крупный сервис я прав?
Типа новая борьба с ботами
Есть компания, которая занимается защитой сайтов от ботов.
защита-файрвол.png
схема.png

Когда я попытался создавать темы обсуждения на такую тему - мою тему с форума удалили в течении 5-10 минут с момента создания.
Видимо обсуждать такое здесь не принято.

Так вот там как раз на сайтах, на которых стоит ПО данного сервиса пристально следит за корректностью установки куков.
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Есть компания, которая занимается защитой сайтов от ботов.
кааааааааааапец еще один гемор на пути зенноюзеров.

Хотя, думаю не все так и плачевно, да придется хорошо так попотеть что бы найти эту самую цепочку загрузки контента, это очередность. Но это максимум что они могут сделать ведь все понимают если сделать 10-100 редиректов с определенной загрузкой очередности то и сам сайт будет загружаться долго, и ведь это никому не нужно

Но вот если для каждого сайта будет своя индивидуальная очередность загрузки, и поиска куков во время эти самых редиректов то это уже сложнее.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
кааааааааааапец еще один гемор на пути зенноюзеров.
Зато теперь для имитации реального браузера на запросах можно научиться отправлять целые цепочки запросов ко всем скриптам и стилям (если куда-то не отправил запрос - значит бот - значит обратно проверка браузера, каптча или 403).
Все что нас не убивает - делает нас сильнее :-)
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Все что нас не убивает - делает нас сильнее
на самом то деле это интересная находка, с этим сервисом
создает мысль о создание шаба который будет это обходить, и монетизировать ну или выложить на добровольной ))
 
  • Спасибо
Реакции: BAZAg

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Попробуйте использовать
такую команду
curl -vIL blazingfast.io

Она позволяет вывести все редиректы с флагом -L

Может быть даст какой-то эффект для анализа
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)