You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Mini Traktor <mi...@yahoo.com> on 2010/04/30 13:37:27 UTC
Download a file by going to website and submitting a form
Hi!
I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
1. Go to this website:
http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
2. Select the radio button "Exportera data" in the top-right corner
3. Click the button "SÖK"
I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
DefaultHttpClient httpclient =
HttpPost httpost =
List <NameValuePair> nvps =
nvps.add(
nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
// nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
// nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
// nvps.add(new BasicNameValuePair("__VIEWSTATE",
"/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
// nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
// nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
// nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
// nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
// nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
File file =
InputStream instream = entity.getContent();
OutputStream outstream =
outstream.write(tmp, 0, l);
}
outstream.flush();
instream.close();
outstream.close();
entity.consumeContent();
httpclient.getConnectionManager().shutdown();
}newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
Re: Download a file by going to website and submitting a form
Posted by sebb <se...@gmail.com>.
Or use a browser add-on that records the traffic.
Or use a protocol analyser such as Wireshark.
On 30/04/2010, Christophe Marchand <ch...@axyus.com> wrote:
> Put a local proxy that log requests and watch out the parameters that are
> submitted to server.
> Then you will just have to change your parameters values as you need.
>
> Under windows (sometime...), I use Proxomitron
>
> Regards,
> Christophe
>
>
> Mini Traktor wrote:
>
> > Hi!
> >
> > I need to download a file using HttpClient. There is no URL that leads
> directly to the file but it can be downloaded manually by following these
> steps:
> >
> > 1. Go to this website:
> >
> http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
> > 2. Select the radio button "Exportera data" in the top-right corner
> > 3. Click the button "SÖK"
> >
> > I suppose that I should do some kind of HTTP POST, but I don't know which
> parameters to post. I have tried many different combinations, such as the
> one below. Do anyone know what I should do to download the file?
> > DefaultHttpClient httpclient = HttpPost httpost = List
> <NameValuePair> nvps = nvps.add(
> > nvps.add(publicstaticvoidmain(String[] args)
> throwsException
> {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList
> <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup",
> "optExport"));newBasicNameValuePair("__EVENTTARGET",
> "ctl00$main$optExport")); // nvps.add(new
> BasicNameValuePair("__EVENTTARGET", "optExport"));
> > // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
> > // nvps.add(new BasicNameValuePair("__EVENTARGUMENT",
> ""));
> > // nvps.add(new BasicNameValuePair("__VIEWSTATE",
> >
> "/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
> >
> WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
> > // nvps.add(new
> BasicNameValuePair("ctl00$main$ResultFormatGroup",
> "optExport"));
> > // nvps.add(new
> BasicNameValuePair("ctl00$main$DropDownList1",
> "HistorisktInnehav"));
> > // nvps.add(new
> BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
> > // nvps.add(new
> BasicNameValuePair("__EVENTVALIDATION",
> "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
> > // nvps.add(new
> BasicNameValuePair("ctl00$main$ImageButton1", "true"));
> httpost.setEntity(
> > HttpResponse response = httpclient.execute(httpost);
> > HttpEntity entity = response.getEntity(); File file =
> InputStream instream = entity.getContent();
> > OutputStream outstream = outstream.write(tmp, 0, l);
> > }
> > outstream.flush();
> > instream.close();
> > outstream.close();
> > entity.consumeContent();
> >
> httpclient.getConnectionManager().shutdown();
> }newUrlEncodedFormEntity(nvps,
> HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file);
> byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) !=
> -1) {
> >
> >
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail:
> httpclient-users-help@hc.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org
Re: Download a file by going to website and submitting a form
Posted by Christophe Marchand <ch...@axyus.com>.
Or contact the web-site administrator and ask him the detail URL API
(i.e. the exact content required in each parameter).
Regards,
Christophe
sebb wrote:
> On 30/04/2010, Mini Traktor <mi...@yahoo.com> wrote:
>
>> Hi!
>>
>> I used Proxomitron to find out that the parameters were being posted when clicking on the download button (the "SÖK" button):
>>
>> __VIEWSTATE=%2FwEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQ
>> UPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbX
>> BsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb2
>> 5kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw
>> 8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0
>> NoZWNrZWRnZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1Nj
>> EwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmgfAA
>> UPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb2
>> 5lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2
>> bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BU
>> luc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGci
>> BvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAxMC0wNC0yOR8DaGRkAhkPDxYCHwAFBURhdHVtZG
>> QCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QYWdlVGVtcGxhdG
>> VzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw
>> 8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZB
>> gCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcn
>> QFFGN0bDAwJG1haW4kb3B0U2NyZWVuBRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbi
>> RJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkplQcCA16XUJKgpVj4bTiEdM5Yb
>> Q%3D
>> ctl00%24main%24ResultFormatGroup=optExport
>> ctl00%24main%24DropDownList1=HistorisktInnehav
>> ctl00%24main%24tomDate=2009-04-30
>> ctl00%24main%24ImageButton1.x=13
>> ctl00%24main%24ImageButton1.y=15
>> __EVENTVALIDATION=%2FwEWDwLizLyxCgLupZC3DALVvMvkCALOkpvRAwLuqaGYAgLghIvcCQL%2Fl4qFBQLYqZBBAoqhrtUDAqGXz60BAret0%2FoPArax8coKAoX27r0IAtmB4skKAv2novYCatM9TQQ4OL1ojfRmfYIduKKQ%2Fwc%3D
>>
>> However, posting the same parameters from HttpClient gives the following response:
>>
>> "<html><head><title>Object moved</title></head><body>
>> <h2>Object moved to <a href="/PageTemplates/errorNoSess.aspx?aspxerrorpath=/SearchPage.aspx">here</a>.</h2>
>> </body></html>"
>>
>> What can be the problem? I suppose it lies with the __VIEWSTATE and __EVENTVALIDATION parameters as the values for these seems a bit... strange.
>>
>>
>
> These values are likely to vary between requests, so you will have to
> extract them from the previous response.
>
>
>> Best regards,
>> Mini
>>
>>
>>
>> ________________________________
>> From: Christophe Marchand <ch...@axyus.com>
>> To: HttpClient User Discussion <ht...@hc.apache.org>
>> Sent: Fri, April 30, 2010 1:47:12 PM
>> Subject: Re: Download a file by going to website and submitting a form
>>
>>
>> Put a local proxy that log requests and watch out the parameters that are submitted to server.
>> Then you will just have to change your parameters values as you need.
>>
>> Under windows (sometime...), I use Proxomitron
>>
>> Regards,
>> Christophe
>>
>> Mini Traktor wrote:
>> > Hi!
>> >
>> > I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
>> >
>> > 1. Go to this website:
>> > http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
>> > 2. Select the radio button "Exportera data" in the top-right corner
>> > 3. Click the button "SÖK"
>> >
>> > I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
>> > DefaultHttpClient httpclient = HttpPost httpost = List <NameValuePair> nvps = nvps.add(
>> > nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
>> > // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
>> > // nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
>> > // nvps.add(new BasicNameValuePair("__VIEWSTATE",
>> >
>> "/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
>> > WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
>> > // nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
>> > // nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
>> > // nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
>> > // nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
>> > // nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
>> > HttpResponse response = httpclient.execute(httpost);
>> > HttpEntity entity = response.getEntity(); File file = InputStream instream = entity.getContent();
>> > OutputStream outstream = outstream.write(tmp, 0, l);
>> > }
>> > outstream.flush();
>> > instream.close();
>> > outstream.close();
>> > entity.consumeContent();
>> > httpclient.getConnectionManager().shutdown(); }newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
>> >
>> >
>> >
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>>
>> To unsubscribe, e-mail: mailto:httpclient-users-unsubscribe@hc.apache.org
>> For additional commands, e-mail: mailto:httpclient-users-help@hc.apache.org
>>
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>
>
>
Re: Download a file by going to website and submitting a form
Posted by Mini Traktor <mi...@yahoo.com>.
Hm.. I can't find the same values of __VIEWSTATE and __EVENTVALUATION in previous response.
I attach the full output from proximitron, after having done the following steps:
(start at http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-05-03&tomdate=2010-05-03&reporttype=2&culture=sv-SE)
1. Click at "Exportera data"
2. Click at "S�K"
________________________________
From: sebb <se...@gmail.com>
To: HttpClient User Discussion <ht...@hc.apache.org>
Sent: Fri, April 30, 2010 5:19:20 PM
Subject: Re: Download a file by going to website and submitting a form
On 30/04/2010, Mini Traktor <mi...@yahoo.com> wrote:
> Hi!
> However, posting the same parameters from HttpClient gives the following response:
>
> "<html><head><title>Object moved</title></head><body>
> <h2>Object moved to <a href="/PageTemplates/errorNoSess.aspx?aspxerrorpath=/SearchPage.aspx">here</a>.</h2>
> </body></html>"
>
> What can be the problem? I suppose it lies with the __VIEWSTATE and __EVENTVALIDATION parameters as the values for these seems a bit... strange.
>
These values are likely to vary between requests, so you will have to
extract them from the previous response.
> Best regards,
> Mini
>
>
>
> ________________________________
> From: Christophe Marchand <ch...@axyus.com>
> To: HttpClient User Discussion <ma...@hc.apache.org>
> Sent: Fri, April 30, 2010 1:47:12 PM
> Subject: Re: Download a file by going to website and submitting a form
>
>
> Put a local proxy that log requests and watch out the parameters that are submitted to server.
> Then you will just have to change your parameters values as you need.
>
> Under windows (sometime...), I use Proxomitron
>
> Regards,
> Christophe
>
> Mini Traktor wrote:
> > Hi!
> >
> > I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
> >
> > 1. Go to this website:
> > http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
> > 2. Select the radio button "Exportera data" in the top-right corner
> > 3. Click the button "S�K"
> >
> > I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
> > DefaultHttpClient httpclient = HttpPost httpost = List <NameValuePair> nvps = nvps.add(
> > nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
> > // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
> > // nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
> > // nvps.add(new BasicNameValuePair("__VIEWSTATE",
> >
>
"/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
> > WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
> > // nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
> > // nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
> > // nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
> > // nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
> > // nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
> > HttpResponse response = httpclient.execute(httpost);
> > HttpEntity entity = response.getEntity(); File file = InputStream instream = entity.getContent();
> > OutputStream outstream = outstream.write(tmp, 0, l);
> > }
> > outstream.flush();
> > instream.close();
> > outstream.close();
> > entity.consumeContent();
> > httpclient.getConnectionManager().shutdown(); }newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
> >
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail: mailto:mailto:httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: mailto:mailto:httpclient-users-help@hc.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org
Re: Download a file by going to website and submitting a form
Posted by sebb <se...@gmail.com>.
On 30/04/2010, Mini Traktor <mi...@yahoo.com> wrote:
> Hi!
>
> I used Proxomitron to find out that the parameters were being posted when clicking on the download button (the "SÖK" button):
>
> __VIEWSTATE=%2FwEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQ
> UPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbX
> BsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb2
> 5kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw
> 8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0
> NoZWNrZWRnZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1Nj
> EwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmgfAA
> UPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb2
> 5lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2
> bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BU
> luc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGci
> BvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAxMC0wNC0yOR8DaGRkAhkPDxYCHwAFBURhdHVtZG
> QCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QYWdlVGVtcGxhdG
> VzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw
> 8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZB
> gCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcn
> QFFGN0bDAwJG1haW4kb3B0U2NyZWVuBRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbi
> RJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkplQcCA16XUJKgpVj4bTiEdM5Yb
> Q%3D
> ctl00%24main%24ResultFormatGroup=optExport
> ctl00%24main%24DropDownList1=HistorisktInnehav
> ctl00%24main%24tomDate=2009-04-30
> ctl00%24main%24ImageButton1.x=13
> ctl00%24main%24ImageButton1.y=15
> __EVENTVALIDATION=%2FwEWDwLizLyxCgLupZC3DALVvMvkCALOkpvRAwLuqaGYAgLghIvcCQL%2Fl4qFBQLYqZBBAoqhrtUDAqGXz60BAret0%2FoPArax8coKAoX27r0IAtmB4skKAv2novYCatM9TQQ4OL1ojfRmfYIduKKQ%2Fwc%3D
>
> However, posting the same parameters from HttpClient gives the following response:
>
> "<html><head><title>Object moved</title></head><body>
> <h2>Object moved to <a href="/PageTemplates/errorNoSess.aspx?aspxerrorpath=/SearchPage.aspx">here</a>.</h2>
> </body></html>"
>
> What can be the problem? I suppose it lies with the __VIEWSTATE and __EVENTVALIDATION parameters as the values for these seems a bit... strange.
>
These values are likely to vary between requests, so you will have to
extract them from the previous response.
> Best regards,
> Mini
>
>
>
> ________________________________
> From: Christophe Marchand <ch...@axyus.com>
> To: HttpClient User Discussion <ht...@hc.apache.org>
> Sent: Fri, April 30, 2010 1:47:12 PM
> Subject: Re: Download a file by going to website and submitting a form
>
>
> Put a local proxy that log requests and watch out the parameters that are submitted to server.
> Then you will just have to change your parameters values as you need.
>
> Under windows (sometime...), I use Proxomitron
>
> Regards,
> Christophe
>
> Mini Traktor wrote:
> > Hi!
> >
> > I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
> >
> > 1. Go to this website:
> > http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
> > 2. Select the radio button "Exportera data" in the top-right corner
> > 3. Click the button "SÖK"
> >
> > I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
> > DefaultHttpClient httpclient = HttpPost httpost = List <NameValuePair> nvps = nvps.add(
> > nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
> > // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
> > // nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
> > // nvps.add(new BasicNameValuePair("__VIEWSTATE",
> >
> "/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
> > WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
> > // nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
> > // nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
> > // nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
> > // nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
> > // nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
> > HttpResponse response = httpclient.execute(httpost);
> > HttpEntity entity = response.getEntity(); File file = InputStream instream = entity.getContent();
> > OutputStream outstream = outstream.write(tmp, 0, l);
> > }
> > outstream.flush();
> > instream.close();
> > outstream.close();
> > entity.consumeContent();
> > httpclient.getConnectionManager().shutdown(); }newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
> >
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail: mailto:httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: mailto:httpclient-users-help@hc.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org
Re: Download a file by going to website and submitting a form
Posted by Mini Traktor <mi...@yahoo.com>.
Hi!
I used Proxomitron to find out that the parameters were being posted when clicking on the download button (the "SÖK" button):
__VIEWSTATE=%2FwEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQ
UPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbX
BsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb2
5kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw
8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0
NoZWNrZWRnZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1Nj
EwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmgfAA
UPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb2
5lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2
bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BU
luc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGci
BvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAxMC0wNC0yOR8DaGRkAhkPDxYCHwAFBURhdHVtZG
QCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QYWdlVGVtcGxhdG
VzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw
8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZB
gCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcn
QFFGN0bDAwJG1haW4kb3B0U2NyZWVuBRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbi
RJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkplQcCA16XUJKgpVj4bTiEdM5Yb
Q%3D
ctl00%24main%24ResultFormatGroup=optExport
ctl00%24main%24DropDownList1=HistorisktInnehav
ctl00%24main%24tomDate=2009-04-30
ctl00%24main%24ImageButton1.x=13
ctl00%24main%24ImageButton1.y=15
__EVENTVALIDATION=%2FwEWDwLizLyxCgLupZC3DALVvMvkCALOkpvRAwLuqaGYAgLghIvcCQL%2Fl4qFBQLYqZBBAoqhrtUDAqGXz60BAret0%2FoPArax8coKAoX27r0IAtmB4skKAv2novYCatM9TQQ4OL1ojfRmfYIduKKQ%2Fwc%3D
However, posting the same parameters from HttpClient gives the following response:
"<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/PageTemplates/errorNoSess.aspx?aspxerrorpath=/SearchPage.aspx">here</a>.</h2>
</body></html>"
What can be the problem? I suppose it lies with the __VIEWSTATE and __EVENTVALIDATION parameters as the values for these seems a bit... strange.
Best regards,
Mini
________________________________
From: Christophe Marchand <ch...@axyus.com>
To: HttpClient User Discussion <ht...@hc.apache.org>
Sent: Fri, April 30, 2010 1:47:12 PM
Subject: Re: Download a file by going to website and submitting a form
Put a local proxy that log requests and watch out the parameters that are submitted to server.
Then you will just have to change your parameters values as you need.
Under windows (sometime...), I use Proxomitron
Regards,
Christophe
Mini Traktor wrote:
> Hi!
>
> I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
>
> 1. Go to this website:
> http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
> 2. Select the radio button "Exportera data" in the top-right corner
> 3. Click the button "SÖK"
>
> I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
> DefaultHttpClient httpclient = HttpPost httpost = List <NameValuePair> nvps = nvps.add(
> nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
> // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
> // nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
> // nvps.add(new BasicNameValuePair("__VIEWSTATE",
>
"/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
> WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
> // nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
> // nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
> // nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
> // nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
> // nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
> HttpResponse response = httpclient.execute(httpost);
> HttpEntity entity = response.getEntity(); File file = InputStream instream = entity.getContent();
> OutputStream outstream = outstream.write(tmp, 0, l);
> }
> outstream.flush();
> instream.close();
> outstream.close();
> entity.consumeContent();
> httpclient.getConnectionManager().shutdown(); }newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: mailto:httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: mailto:httpclient-users-help@hc.apache.org
Re: Download a file by going to website and submitting a form
Posted by Christophe Marchand <ch...@axyus.com>.
Put a local proxy that log requests and watch out the parameters that
are submitted to server.
Then you will just have to change your parameters values as you need.
Under windows (sometime...), I use Proxomitron
Regards,
Christophe
Mini Traktor wrote:
> Hi!
>
> I need to download a file using HttpClient. There is no URL that leads directly to the file but it can be downloaded manually by following these steps:
>
> 1. Go to this website:
> http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE
> 2. Select the radio button "Exportera data" in the top-right corner
> 3. Click the button "SÖK"
>
> I suppose that I should do some kind of HTTP POST, but I don't know which parameters to post. I have tried many different combinations, such as the one below. Do anyone know what I should do to download the file?
> DefaultHttpClient httpclient =
> HttpPost httpost =
> List <NameValuePair> nvps =
> nvps.add(
> nvps.add(publicstaticvoidmain(String[] args) throwsException {newDefaultHttpClient();newHttpPost("http://insynsok.fi.se/SearchPage.aspx?bolagid=556&fromdate=2009-04-30&tomdate=2009-04-30&reporttype=2&culture=sv-SE");newArrayList <NameValuePair>();newBasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));newBasicNameValuePair("__EVENTTARGET", "ctl00$main$optExport")); // nvps.add(new BasicNameValuePair("__EVENTTARGET", "optExport"));
> // nvps.add(new BasicNameValuePair("__LASTFOCUS", ""))
> // nvps.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
> // nvps.add(new BasicNameValuePair("__VIEWSTATE",
> "/wEPDwUJMTMxNTMwMTE1D2QWAmYPZBYCAgMPZBYEAgEPZBYkAgMPPCsADQEMFCsABQUPMDowLDA6MSwwOjIsMDozFCsAAhYEHgRUZXh0BQVCb2xhZx4ISW1hZ2VVcmwFLH4vUGFnZVRlbXBsYXRlcy9pbWFnZXMvRklfR3JlZW4tZG90LTEwcHgucG5nZBQrAAIWAh8ABQxJbnN5bnNwZXJzb25kFCsAAhYCHwAFBURhdHVtZBQrAAIWAh8ABRhSZWdpc3RyZXJhZCBpbnN5bnNoYW5kZWxkZAIFDw8WAh8ABRVURUxJQVNPTkVSQSBBQiAoUFVCTClkZAIHDxAPFgQfAAUORXhwb3J0ZXJhIGRhdGEeB0NoZWNrZWRoZGRkZAIJDw8WAh8ABRRPcmdhbmlzYXRpb25zbnVtbWVyOmRkAgsPDxYCHwAFCzU1NjEwMy00MjQ5ZGQCDQ8PFgIfAAUXUmVnaXN0cmVyaW5nIHVwcGjDtnJ0OiBkZAIPDxAPFgQfAmcfAAUPVmlzYSBww6Ugc2vDpHJtZGRkZAIRDw8WAh8ABQVWw6RsamRkAhMPEGQQFQUNVHJhbnNha3Rpb25lchBBa3R1ZWxsdCBpbm5laGF2Ekhpc3Rvcmlza3QgaW5uZWhhdgVJbnN5bhlCZWZhdHRuaW5nc2bDtnLDpG5kcmluZ2FyFQUNVHJhbnNha3Rpb25lcgdJbm5laGF2EUhpc3Rvcmlza3RJbm5laGF2BUluc3luGUJlZmF0dG5pbmdzZsO2csOkbmRyaW5nYXIUKwMFZ2dnZ2cWAQICZAIVDw8WBB8ABQZGciBvIG0eB1Zpc2libGVoZGQCFw8PFgQfAAUKMjAwOS0wNC0zMB8DaGRkAhkPDxYCHwAFBURhdHVtZGQCGw8PFgIfAAUKMjAwOS0wNC0zMGRkAh0PDxYCHwNoZGQCHw8PFgIfAQUofi9QY
> WdlVGVtcGxhdGVzL2ltYWdlcy9idXR0b25fc2VhcmNoLmdpZmRkAiEPDxYCHwAFDUbDtnJrbGFyaW5nYXJkZAIlDw8WAh8ABQM1NTZkZAInDw8WAh8ABQVEYXR1bWRkAgIPDxYCHwAFEFRmbiAwOC03ODcgODEgNDRkZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUUY3RsMDAkbWFpbiRvcHRFeHBvcnQFFGN0bDAwJG1haW4kb3B0RXhwb3J0BRRjdGwwMCRtYWluJG9wdFNjcmVlbgUXY3RsMDAkbWFpbiRJbWFnZUJ1dHRvbjEFFGN0bDAwJG1haW4kR3JpZFZpZXcxD2dkklF4trRBFw6yMlWuT6mgCtqFIVs="));
> // nvps.add(new BasicNameValuePair("ctl00$main$ResultFormatGroup", "optExport"));
> // nvps.add(new BasicNameValuePair("ctl00$main$DropDownList1", "HistorisktInnehav"));
> // nvps.add(new BasicNameValuePair("ctl00$main$tomDate", "2009-04-30"));
> // nvps.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWDwLHzJQpAu6lkLcMAtW8y+QIAs6Sm9EDAu6poZgCAuCEi9wJAv+XioUFAtipkEECiqGu1QMCoZfPrQECt63T+g8CtrHxygoChfbuvQgC2YHiyQoC/aei9gKbrpw0ozpPrgzd2imI6M4O/LNqOw=="));
> // nvps.add(new BasicNameValuePair("ctl00$main$ImageButton1", "true")); httpost.setEntity(
> HttpResponse response = httpclient.execute(httpost);
> HttpEntity entity = response.getEntity();
> File file =
> InputStream instream = entity.getContent();
> OutputStream outstream =
> outstream.write(tmp, 0, l);
> }
> outstream.flush();
> instream.close();
> outstream.close();
> entity.consumeContent();
> httpclient.getConnectionManager().shutdown();
> }newUrlEncodedFormEntity(nvps, HTTP.UTF_8));newFile("somefile.zip");newFileOutputStream(file); byte[] tmp = newbyte[4096]; intl; while((l = instream.read(tmp)) != -1) {
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org