CasperJS - 下载没有URL的生成文件

bvr*_*zvm 11 javascript csv download phantomjs casperjs

我一直在努力解决这个问题.

我正在尝试下载由Google Adwords"下载报告"按钮生成的CSV文件.我可以点击链接,然后在后台查看资源.问题是,为了下载它,casperJS/phantomJS需要一个文件的URL ...但CSV是在现场生成的,并且与我所在的页面具有相同的URL(在该链接之后只会引导您到达主页,而不是CSV文件所以casperJS无法下载它).

有没有办法在没有URL的情况下保存该资源?

我发现了这个解决方法:在PhantomJs中下载POST请求响应中附件的文件

但不幸的是,谷歌Adwords报告按钮没有我可以参考的形式.

Igo*_*ric 1

我使用 Chrome 开发者工具做了一个简单的请求分析:下载请求(对我来说)发送到以下 URL:

Request URL:https://adwords.google.com/reports/advanced/ReportDownload?authuser=0
Run Code Online (Sandbox Code Playgroud)

表格数据:

__rds:{{censored}}
__rrd:{{censored}}
__u:{{censored}}
__c:{{censored}}
__rfl:8,9,10
token:{{censored}}:{{censored}}
Run Code Online (Sandbox Code Playgroud)

请求标头:

:authority:adwords.google.com
:method:POST
:path:/reports/advanced/ReportDownload?authuser=0
:scheme:https
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/ *;q=0.8
accept-encoding:gzip, deflate
accept-language:en-US,en;q=0.8,de-DE;q=0.6,de;q=0.4,hr;q=0.2,sr;q=0.2
cache-control:max-age=0
content-length:501
content-type:application/x-www-form-urlencoded
cookie: {{censored}}
dnt:1
origin:https://adwords.google.com
referer:https://adwords.google.com/reports/advanced/AdvancedReporting?__c={{censored}}&__u={{censored}}&authuser=0&__o=cues
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
x-client-data:{{censored}}
Run Code Online (Sandbox Code Playgroud)

我已删除了可能特定于我的数据,并将其替换为 {{censored}} 标签。