Минимальная версия A-Parser
1.2.584
В данной статье мы разберем подробно работу с редиректами:
  • Отобразим кол-во редиректов
  • Покажем конечную ссылку после редиректа
  • Покажем все ссылки, если несколько подряд редиректов
  • Выведем код ответа сервера, по которому происходит редирект.

Разберем работу опций:
  • Max redirects count
  • Follow common redirects.

1. Проверяем количество редиректов

1.1. Создаем парсер NET:HTTP.

c8voo_200103085430.png


1.2. Выбираем опцию “Max redirects count” - Максимальное кол-во редиректов, по которым будет переходить парсер. Значение выбираем максимальное.

y53m5_200103085637.png


aiaf0_200103085924.png


1.3. Чтобы показать количество редиректов, необходимо в поле Формат результата написать следующую переменную $response.Redirects.size.

m8wen_200103090622.png


Результат:
https://is.gd/JXE2Uo^1
https://is.gd/Q5nZsk^2
http://www.is.gd/JXE2Uo^2
http://is.gd/JXE2Uo^2
http://is.gd/Q5nZsk^3
http://www.is.gd/Q5nZsk^3
https://a-parser.com/pages/support/^1
http://a-parser.com/pages/support/^2

2. Конечная ссылка после редиректа

2.1. Повторяем пункты 1.1 и 1.2.
2.2. Для того чтобы показать ссылку куда ведет редирект, необходимо указать в поле Формат результата следующую переменную $response.URI.

iuisn_200103092531.png


Результат:

https://is.gd/Q5nZsk^https://traff.ink:443/
http://www.is.gd/JXE2Uo^https://a-parser.com/threads/5526/
https://is.gd/JXE2Uo^https://a-parser.com/threads/5526/
http://is.gd/JXE2Uo^https://a-parser.com/threads/5526/
http://is.gd/Q5nZsk^https://traff.ink:443/
http://www.is.gd/Q5nZsk^https://traff.ink:443/
https://a-parser.com/pages/support/^https://a-parser.com/pages/support/open
http://a-parser.com/pages/support/^https://a-parser.com/pages/support/open

3. Несколько редиректов

3.1. Повторяем пункты 1.1 и 1.2.
3.2. Для того чтобы показать несколько ссылок, по которым был совершен последовательный редирект необходимо в поле Result format написать следующее:
Код:
$response.Redirects.format('$URI^')$response.URI\n
Выводим сначала массив всех редиректов $response.Redirects.format('$URI^') (разделитель в данном случае между ними будет ^), а в конце выводим последнюю ссылку, на которую пересылает редирект $response.URI.

xkqk9_200103093843.png


Результат:

http://is.gd/JXE2Uo^https://is.gd/JXE2Uo^https://a-parser.com/threads/5526/
http://www.is.gd/JXE2Uo^https://www.is.gd/JXE2Uo^https://a-parser.com/threads/5526/
https://is.gd/Q5nZsk^http://traff.ink^https://traff.ink:443/
https://is.gd/JXE2Uo^https://a-parser.com/threads/5526/
http://is.gd/Q5nZsk^https://is.gd/Q5nZsk^http://traff.ink^https://traff.ink:443/
http://www.is.gd/Q5nZsk^https://www.is.gd/Q5nZsk^http://traff.ink^https://traff.ink:443/
https://a-parser.com/pages/support/^https://a-parser.com/pages/support/open
http://a-parser.com/pages/support/^https://a-parser.com/pages/support/^https://a-parser.com/pages/support/open

4. Код ответа + URL редиректа

4.1. Повторяем пункты 1.1 и 1.2.
4.2. Для кода ответа каждого редиректа и последней ссылки необходимо указать переменную $Status. Чтобы узнать какие данные можно вывести в результат при помощи встроенной переменной $response.Redirects необходимо вывести результат запроса при помощи встроенной переменной $response.json и посмотреть в любом редакторе (например Notepad++) все содержимое JSON.

xmrmq_200103094347.png


a28sn_200103094649.png


В поле Result format пишем следующее:

Код:
$response.Redirects.format('$URI^($Status)')$response.URI^($response.Status)\n
tdtod_200103095009.png


Результат:
https://is.gd/JXE2Uo^(301)https://a-parser.com/threads/5526/^(200)
https://is.gd/Q5nZsk^(301)http://traff.ink^(301)https://traff.ink:443/^(200)
http://is.gd/JXE2Uo^(301)https://is.gd/JXE2Uo^(301)https://a-parser.com/threads/5526/^(200)
http://www.is.gd/JXE2Uo^(301)https://www.is.gd/JXE2Uo^(301)https://a-parser.com/threads/5526/^(200)
http://is.gd/Q5nZsk^(301)https://is.gd/Q5nZsk^(301)http://traff.ink^(301)https://traff.ink:443/^(200)
https://a-parser.com/pages/support/^(303)https://a-parser.com/pages/support/open^(200)
http://www.is.gd/Q5nZsk^(301)https://www.is.gd/Q5nZsk^(301)http://traff.ink^(301)https://traff.ink:443/^(200)
http://a-parser.com/pages/support/^(301)https://a-parser.com/pages/support/^(303)https://a-parser.com/pages/support/open^(200)

5. Работа опций Max redirects count и Follow common redirects

5.1. Выбираем опции:
  • Max redirects count - Максимальное кол-во редиректов по которым будет переходить парсер.

  • Follow common redirects (по умолчанию включена) - позволяет делать редиректы http <-> https и www.domain <-> domain в пределах одного домена в обход лимита Max redirects count. Для правильного получения результатов парсинга данную опцию лучше не отключать. Так как если например, опция Max redirects count используется со значением меньше 2 и опция Follow common redirects будет отключена, то результат будет неправильным, при наличии общего кол-ва редиректов больше 3-х:
    • редиректы http <-> https
    • www.domain <-> domain
    • редиректы на другие ссылки
et67a_200103100106.png


hakm5_200103100603.png


5.2. Если для опции “Max redirects count” выбрать значение 0, то тогда сбор редиректов происходить не будет, кроме редиректов: http <-> https и www.domain <-> domain.

b61zk_200103101247.png


pxlwn_200103111305.png


5.3. При отключении обеих опций “Max redirects count” и “Follow common redirects” редиректы парсер собирать не будет.

В итоге мы разобрали вывод редиректов, их количество, код ответа сервера и последовательный вывод редиректов, если их несколько.
  • Like
Реакции: Parsme и relay
Автор
Support Alex
Просмотры
48
Первый выпуск
Обновление

Рейтинги

5,00 звёзд Оценок: 2

Ещё ресурсы от Support Alex

Последние отзывы

супер!!! мега мануал!)
Наконец-то толковое разъяснение. Больше такого формата!
Назад
Верх