У меня 2 страницы: xyz.com/a
а xyz.com/b
. Я могу получить доступ только xyz.com/b
тогда и только тогда, когда я xyz.com/a
сначала войду в систему . Если доступ осуществляется xyz.com/b
без прохождения другого, я просто получаю отказ в доступе (без перенаправления для входа в систему) через браузер. После входа в систему xyz.com/a
я могу получить доступ к другому.
Моя проблема в том, чтобы сделать это с помощью команды curl. Я могу успешно войти в систему с xyz.com/a
помощью curl, но затем попытаюсь, xyx.com/b
и мне будет отказано в доступе.
Я использую следующее:
curl --user user:pass https://xyz.com/a #works ok
curl https://xyz.com/b #doesn't work
Я пробовал использовать вторую строку с & без части пользователя / пароля и все еще не работает. Обе страницы используют один и тот же CA, так что это не проблема. Какие-либо предложения? Спасибо
somefile
содержит параметр пути (/a
в этом случае) и не перенаправляется на второй вызов. Если я отредактирую файл cookie в файле и поставлю только косую черту, он будет работать (файл cookie будет перенаправлен на второй вызов). Вы знаете, можно ли предотвратить сохранение пути в файле cookie?Также вы можете войти в систему через браузер и получить команду со всеми заголовками, включая файлы cookie:
Откройте вкладку «Сеть» в инструментах разработчика, войдите в систему, перейдите на нужную страницу, используйте «Копировать как cURL».
источник
После некоторого поиска в Google я обнаружил это:
Не знаю, работает ли это, но может привести вас в правильном направлении.
источник
Мой ответ - это модификация некоторых предыдущих ответов @JoeMills и @user.
Получите
cURL
команду для входа на сервер:Измените команду cURL, чтобы иметь возможность сохранять cookie сеанса после входа в систему
-H 'Cookie: <somestuff>'
curl
в начале-c login_cookie.txt
'login_cookie.txt'
в той же папке.Вызов новой веб-страницы, используя этот новый файл cookie, который требует, чтобы вы вошли в систему
curl -b login_cookie.txt <url_that_requires_log_in>
Я пробовал это на Ubuntu 20.04, и это прекрасно работает.
источник