CasperJS - загрузка сгенерированного файла без URL-адреса

Я боролся с этим на некоторое время.

Я пытаюсь загрузить CSV файл, сгенерированный Google Adwords "загрузить отчет". Я могу просто щелкнуть ссылку и посмотреть ресурс в фоновом режиме. Проблема в том, что для ее загрузки в casperJS/phantomJS требуется URL-адрес файла... но CSV генерируется на месте и имеет тот же URL-адрес, что и страница, на которой я нахожусь (по этой ссылке просто приводит вас к а не CSV файл, поэтому casperJS не может его загрузить).

Есть ли способ сохранить этот ресурс без URL?

Я нашел это обходное решение: загрузка файла, который поставляется в виде вложения в ответе запроса POST в PhantomJs

Но, к сожалению, кнопка отчета Google Adwords не имеет формы, которую я могу ссылаться.

Ответ 1

Я сделал простой анализ запросов с помощью инструментов для создания Chrome: Запрос на загрузку отправляется (для меня) по следующему URL-адресу:

Request URL:https://adwords.google.com/reports/advanced/ReportDownload?authuser=0

FormData:

__rds:{{censored}}
__rrd:{{censored}}
__u:{{censored}}
__c:{{censored}}
__rfl:8,9,10
token:{{censored}}:{{censored}}

Заголовок запроса:

: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}}

Я удалил данные, потенциально специфичные для меня, заменив его тегом {{censored}}.