Ross
Ross

Reputation: 927

ruby mechanize: How to retrieve an attachment from a GET

I'm trying to download transactions from a bank account (mine).

Step 1: a form is filled and submitted (POST).

Step 2. subsequent to that, the browser sends a GET

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

The browser receives the file and saves it (default action).

The http response is:

(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

I emulate the form submission (with ruby mechanize), wait a few seconds, and agent.get the URL above, as in:

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

The result is incorrect:

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

Would appreciate some guidance on how to get the result of the GET.

Regards

Upvotes: 0

Views: 68

Answers (1)

Ivan Yurov
Ivan Yurov

Reputation: 1618

There must be something that server expects in headers (and/or) cookies. You can check that using chrome inspector or firebug and add to your request if mechanize supports it (no idea what that is).

Upvotes: 1

Related Questions