2015-12-24 4 views
0

Я пытаюсь загрузить транзакции с банковского счета (моего).ruby ​​mechanize: Как получить вложение из GET

Шаг 1: форма заполняется и отправляется (POST).

Шаг 2. после этого, браузер посылает GET

https://accountinfo.corp.xxxxxxx.com.au/AIWeb/ExportAccounts/DownloadExport?OfficeId=201012249&ScheduleId=&FileFormat=CSV-Tran&IsAccountExport=False 

браузер получает файл и сохраняет его (действие по умолчанию).

Ответ НТТР:

(Status-Line) HTTP/1.1 200 OK 
Content-Length 73 
Content-Type application/AIUsers 
Date Thu, 24 Dec 2015 03:24:22 GMT 
p3p CP="NON CUR OTPi OUR NOR UNI" 
x-frame-options SAMEORIGIN 
x-aspnetmvc-version 1.0 
Cache-Control private 
Content-Disposition attachment; filename=Accounts_24-12-2015_91456974_T.CSV 

Я эмулировать форму представления (с рубиновым Mechanize), подождите несколько секунд, и agent.get указанную выше ссылку, как в:

url = "https://accountinfo.corp.westpac.com.au/AIWeb/ExportAccounts/DownloadExport?OfficeId=201012249&ScheduleId=&FileFormat=CSV-Tran&IsAccountExport=False" 
download_page = agent.get(url) 

Результат неверен:

<html><body><script>window.parent.location = '/AIWeb/ExportAccounts/ShowErrorMessage?errorCode=3';</script></body></html> 

Поблагодарили бы за некоторые рекомендации о том, как получить результат GET.

С уважением

+0

Если это банк, я уверен, что вам нужно войти в систему первым. – pguardiario

ответ

1

Там должно быть что-то, что сервер ожидает в заголовках (и/или) печенье. Вы можете проверить это с помощью хромового инспектора или firebug и добавить к вашему запросу, если механизация поддерживает его (не знаю, что это такое).

Смежные вопросы