Я хотел бы загрузить файл с помощью wget утилиты. Я следовал инструкциям на, "Как я использую wget/curl для загрузки с сайта, в меня входят?" и загрузка обрабатывает работы; однако, сохраненные cookie истекает после определенного времени, таким образом, я не могу продолжить загружать файл на следующий день.
Вот URL, с которого я пытаюсь загрузить файл:
https://frbservices.org/EPaymentsDirectory/FedACHdir.txt
Страница загрузки требует, чтобы я нажал кнопку "Agree", прежде чем я смогу возобновить загрузку.
Существует ли способ включать "Согласовать" представление с wget утилитой?
Спасибо.
Можно отправить форму с помощью wget
, с помощью --post-data
опция. Во-первых, посмотрите на форму, которую использует страница:
<form name="acceptedForm" id="acceptedForm" action="submitAgreement" method="post">
...
<button id="agree_terms_use" name="agreementValue" type="submit" value="Agree">Agree</button>
<button id="disagree_terms_use" name="agreementValue" type="submit" value="Do Not Agree">Do Not Agree</button>
Как правило, значение эти action
атрибут используется для получения целевого URL, который становится https://frbservices.org/EPaymentsDirectory/submitAgreement
. name
с элементов формы становятся параметрами. Тогда необходимо сохранить cookie, которые Вы получаете от принятия соглашения. От это ТАК отправляет , мы можем создать необходимую команду:
wget --post-data="agreementValue=Agree" https://frbservices.org/EPaymentsDirectory/submitAgreement --save-cookies cookie.txt --keep-session-cookies --delete-after
Затем мы можем использовать эти cookie для загрузки файла:
wget --load-cookies=cookie.txt 'https://frbservices.org/EPaymentsDirectory/FedACHdir.txt?AgreementSessionObject=Agree'