рекурсивное завихрение-l для получения конечного состояния веб-страницы

Я требую знать, возвращает ли определенная веб-страница 200/OK кодов состояния HTTP (HSC). Конечно, я могу первый HSC веб-страницы путем выполнения curl -l URL.

Проблема состоит в том, что много веб-страниц имеют перенаправления, и curl естественно не течет с этими перенаправлениями, таким образом, это заходит он сначала HSC, не продолжаясь к последнему HSC и возвратам:

301: Перемещенный постоянно

Это не помогает мне знать, если бы последняя веб-страница, в которую был бы перемещен пользователь, хороша или нет, или просто если она возвращается 200 или нет.

Как я мог удостовериться curl продолжает идти с URL и перенаправлениями (если существует кто-либо), пока он не достигает последнего URL, чтобы проверить, что он возвращается 200 или нет?

Цель состоит в том, чтобы знать, должен ли пользователь повторно болеть типичная веб-страница в конце (200/OK), или нет.

0
задан 22 January 2018 в 15:32

1 ответ

Следовать за использованием перенаправлений -L флаг:

curl -L mywebpage.com

Страница справочника завихрения:

-L, --location
              (HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated  with  a  Location:  header  and  a  3XX
              response  code),  this  option will make curl redo the request on the new place. If used together with -i, --include or -I, --head, headers from
              all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to
              a  different  host, it won't be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount
              of redirects to follow by using the --max-redirs option.

              When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a  GET  if  the
              HTTP  response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodi‐
              fied method.

              You can tell curl to not change the non-GET request method to GET after a 30x response by using  the  dedicated  options  for  that:  --post301,
              --post302 and -post303.
3
ответ дан 31 October 2019 в 03:48

Другие вопросы по тегам:

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