Link to home
Start Free TrialLog in
Avatar of lez60
lez60

asked on

POST from HttpsURLConnection

I am trying to create web client for  form-based logging  .
here is the piece of code I am using.
All values I am getting by parsing start up form.
When looking at Post request in IEWatch one line is different:
(Method-Line)      POST /c/a/WirelessLogIn HTTP/1.1
I am using just       connection.setRequestMethod("POST");   without any parameters
I am not sure  if this makes any difference.

Here is what  I am posting:
      String body    ="USERID="+v_account+"&PASSWORD="+v_pin
                     +"&login=Login&pagehandler=PHWirelessLogIn&DV_DATA="+v_data+"&USERGROUP=ACCT&COMPANY=ABCD";
      url = new URL(t_url+body);
      connection = (HttpsURLConnection)url.openConnection();
      connection.setDoOutput(true);
      connection.setDoInput(true);
      connection.setUseCaches(false);
      connection.setDefaultUseCaches(false);
      connection.setFollowRedirects(false);
      connection.setInstanceFollowRedirects(false);
      connection.setRequestMethod("POST");
      //connection.setRequestProperty("Accept", "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*");
      connection.setRequestProperty("Accept", "*/*");
      connection.setRequestProperty("Referer", "https://www.abcd.com/c/a/WirelessLogInForm");
      connection.setRequestProperty("Accept-Language" , "en-us");
      connection.setRequestProperty("Accept-Encoding", "gzip, deflate");
      connection.setRequestProperty("Content-Type" , "application/x-www-form-urlencoded") ;
      connection.setRequestProperty("User-Agent",  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)");
      connection.setRequestProperty("Host", "www.abcd.com");
     // connection.setRequestProperty("Content-Length","120");    
      connection.setRequestProperty("Connection", "Keep-Alive");
      connection.setRequestProperty("Cache-Control", "no-cache");
      connection.setRequestProperty("Cookie", cookie);
     connection.connect();

 The response is :

<HTML>
<TITLE>Page Unavailable</TITLE><BODY>
/html/errors/404.html is unavailable, please contact system administractor.
</BODY>
</HTML>

As you can see I've commented out one line       // connection.setRequestProperty("Content-Length","120");  
because with this line the sessin hangs and I am getting no response at all .
How to solve this issue ???
Thx
   


ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of lez60
lez60

ASKER

Yes !!!  It works , Thanks !!. I've seen this example before but it looks like not quite got it before. POST and GET is a little bit confusing,
somtimes I was using GET method to login, and it worked, but in this situation it had to bePOST .

Great, I am really approciated

 
no worries :)