Как выяснить, где ссылка перенаправляется

если Вы хотите запуститься с дуги, готовы считать и изучить много нового материала. Если не идут с монетным двором, как предложено. GL

3
04.09.2013, 01:48
1 ответ

То, что Вы хотите, является ГЛАВНЫМ запросом, но wget не поддерживает его; curl делает.

Ваше распределение по всей вероятности имеет curl в репозиториях.

curl -s -I $URL -L | awk '/Location: (.*)/ {print $2}' | tail -n 1

$ URL=http://unix.stackexchange.com/questions/89282/
$ curl -s -I $URL | awk '/Location: (.*)/ {print $2}' | tail -n 1
/questions/89282/how-to-figure-out-where-a-link-gets-redirected
$ _

Здесь:

  • -s предотвращает curl от показа индикатора выполнения;
  • -I делает curl выпустите ГЛАВНЫЙ запрос;
  • -L делает curl следуйте перенаправления (благодарит @brianstone), можно хотеть или не хотеть включать это, в зависимости от которых заголовков перенаправления Вы хотите отследить;
  • awk сценарий печатает подобранное выражение в parens, просто локальная часть URI.
7
27.01.2020, 21:13
  • 1
    Хорошо. Но если я теперь изменил шаблон как это: /Location: .*\/([^\/]*)\/.*/ как woul, я получаю, какой находится в скобках? –  BrainStone 03.09.2013, 20:01
  • 2
    Если Вы хотите получить конкретное подвыражение, попробуйте что-то это: curl -s -I $URL | awk '/Location: .*/ {where=match($2, "[0-9]+"); print substr($2, where, RLENGTH)}' | tail -n 1. В моем примере это печатает 89282. –  9000 03.09.2013, 20:39
  • 3
    /* Дорогие читатели, если Вы хотите использовать -L вместо -I выше, запишите комментарий, объяснив преимущества выполнения так. Просто редактирование моего ответа не является хорошей идеей.Спасибо. */ –  9000 03.09.2013, 21:33
  • 4
    @9000, он сделал, он добавил другую дополнительную строку, которую Вы забыли удалять при возвращении изменения. –  Stéphane Chazelas 03.09.2013, 23:27
  • 5
    Спасибо @brianstone, я даю Вам надлежащий кредит :) Мне все еще жаль, что Вы не исправили мой ответ, но добавили комментарий ниже его, таким образом, мы могли обсудить, если поправка является соответствующей. Посмотрите, в исходном сообщении говорится, инструмент не должен следовать за перенаправлениями, но вместо этого позволить выбирать определенное Location заголовок. –  9000 03.09.2013, 23:35

Теги

Похожие вопросы