wget如何从提示您单击“同意”条件的网页下载文件

我想使用wget实用程序下载文件。 我按照“ 如何使用wget / curl从我登录的站点下载? ”的说明进行操作,下载过程正常; 但是,保存的cookie会在一段时间后过期,因此我无法在第二天继续下载该文件。

这是我正在尝试从以下位置下载文件的URL:

https://frbservices.org/EPaymentsDirectory/FedACHdir.txt

下载页面要求我在继续下载之前单击“同意”按钮。

有没有办法在wget实用程序中包含“同意”提交?

谢谢。

您可以使用--post-data选项使用wget提交表单。 首先,查看页面使用的表单:

 
...  

通常, action属性的值用于获取目标URL,该URL变为https://frbservices.org/EPaymentsDirectory/submitAgreement 。 表单元素的name s成为参数。 然后,您需要保存从接受协议中获得的cookie。 从这篇SOpost中 ,我们可以构建所需的命令:

 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'