下午好 - 我有业务需要下载位于@ https://www.frbservices.org/EPaymentsDirectory/FedACHdir.txt的文件。直到上个月,这是一个相当简单的例程。在我的自动化工具中,我使用cURL简单地导航到该URL并输出数据。
然而,美联储最近更改了此网站的功能,因此您现在被重定向到https://www.frbservices.org/EPaymentsDirectory/agreement.html,您需要“同意”某些T& C.我猜测“协议”点击和后续下载可以通过cURL完成,但我不太清楚如何去做。
有什么建议吗?我正在尝试使用在Windows 2012上运行的Automic Automation Engine来实现这一目标。
答案 0 :(得分:1)
我们遇到了同样的问题,通过3次调用cURL解决了这个问题。关键是两件事:将会话cookie存储在一个文件中并重新提交到协议页面,submitAgreement url以“.do”结尾
注意:我必须用[冒号]替换网址中的“:”,因为声誉不佳(我作为访客发帖)。
curl -c cookies1.txt https://www.frbservices.org/EPaymentsDirectory/FedACHdir.txt
curl --data "agreementValue=Agree" -b cookies1.txt https[colon]//www.frbservices.org/EPaymentsDirectory/submitAgreement.do
curl -b cookies1.txt https[colon]//www.frbservices.org/EPaymentsDirectory/FedACHdir.txt -o saveroutingnums.txt
答案 1 :(得分:0)
抱歉,我不熟悉Automic Automation Engine,但是当他们更改URL并进行协议检查时,我遇到了完全相同的问题。我不得不更新我公司的perl脚本来处理它。
如果您熟悉perl,可以使用WWW :: Mechanize轻松浏览协议页面。我使用的是Linux,但我相信Windows上的perl代码应该是相同的。
这是我写的测试脚本,$ mech-> content()将包含FedACHdir.txt的内容。在这里,我只是将内容转储到同名的文本文件中。然后,您可以使用您需要的任何其他内容处理该文件。
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
my $url = 'https://www.frbservices.org/EPaymentsDirectory/FedACHdir.txt';
my $mech = WWW::Mechanize->new(autocheck => 1);
$mech->get($url);
if($mech->uri() ne $url) {
$mech->form_name('acceptedForm');
$mech->click_button(value => 'Agree');
}
#print ($mech->content());
my $filename = 'FedACHdir.txt';
$mech->save_content($filename);
希望这有帮助!
答案 2 :(得分:0)
使用curl for windows这个.bat文件工作:
fetch('bar.svg').then(...)