Есть ли способ следовать перенаправлениям с помощью командной строки cURL?
Я знаю, что в php script:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
будет следовать переадресации. Есть ли способ отслеживать перенаправления с командной строкой cURL?
Ответ 1
Используйте флаг заголовка местоположения:
curl -L <URL>
Ответ 2
У меня была аналогичная проблема. Я размещаю свое решение здесь, потому что считаю, что это может помочь одному из комментаторов.
Для меня препятствием было то, что страница требовала входа в систему, а затем дала мне новый URL-адрес через javascript. Вот что я должен был сделать:
Обратите внимание, что j_username и j_password - это имя полей для формы входа в мой сайт. Вам нужно будет открыть источник веб-страницы, чтобы узнать, что такое "имя" поля имени пользователя и "имя" поля пароля в вашем случае.
После этого я запускаю html файл с java script, в который был встроен новый URL-адрес. После синтаксического анализа это просто повторно отправьте с новым URL-адресом:
Как уже говорилось, для отслеживания перенаправлений вы можете использовать флаг -L или --location:
curl -L http://www.example.com
Но, , если вы хотите ограничить количество перенаправлений, добавьте параметр --max-redirs
--max-redirs <num>
Установите максимальное количество разрешенных перенаправлений. Если используется -L, --location, эта опция может использоваться для предотвращения скручивания следующих перенаправлений "в абсурде". По умолчанию предел установлен на 50 перенаправлений. Установите эту опцию на -1, чтобы сделать ее безграничной. Если эта опция используется несколько раз, будет использована последняя.