hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Blomqvist <blomqvist.andr...@gmail.com>
Subject Re: login problems with post and redirect.
Date Fri, 19 Feb 2010 16:49:45 GMT
Do I need to handle the Cookies manually? From the logs it looks like I'm
getting lots of different cookies. How do i set the cookie in the context ?

Thx
A

On 19 February 2010 13:59, Andreas Blomqvist <blomqvist.andreas@gmail.com>wrote:

> "HttpClient handles all types of redirects automatically, except those
> explicitly prohibited by the HTTP specification as requiring user
> intervention" but isnt 302 such a code that doesnt allow redirect? Thats why
> I try to manually redirect in my code. But it doesnt seem to work.
>
> Thx
> A
>
>
> On 19 February 2010 12:05, Oleg Kalnichevski <olegk@apache.org> wrote:
>
>> Andreas Blomqvist wrote:
>>
>>> I guess you mean this line:
>>>
>>>  [java] 2010-feb-19 10:46:34
>>> org.apache.commons.httpclient.HttpMethodDirector isRedirectNeeded
>>>
>>> I cant find that package anywhere in my libs. Very strange. But if we
>>> assume
>>> that it is 4.0 thats running (code wise) how do I set the redirect ?
>>>
>>> /A
>>>
>>>
>>
>> http://hc.apache.org/httpcomponents-client/tutorial/html/httpagent.html#d4e1199
>>
>>
>> Oleg
>>
>>
>>> On 19 February 2010 11:16, Oleg Kalnichevski <olegk@apache.org> wrote:
>>>
>>>  Andreas Blomqvist wrote:
>>>>
>>>>  Hi
>>>>>
>>>>> I'm confused. Im using httpclient, httpcore and httpmime 4.0.1 jars.
Is
>>>>> that
>>>>> not version 4 of HttpClient ?
>>>>>
>>>>> My code is trying to login in on a webpage by posting a form. But i'm
>>>>> not
>>>>> getting logged in until i make a second call with this code.
>>>>>
>>>>> What doesnt look right? the code or the logs (or both :) )
>>>>>
>>>>> Thx
>>>>>
>>>>> A
>>>>>
>>>>>
>>>>>  I am confused too, because I clearly see a log entry generated by
>>>> HttpClient 3.
>>>>
>>>> Oleg
>>>>
>>>>
>>>>
>>>>  On 19 February 2010 10:54, Oleg Kalnichevski <olegk@apache.org> wrote:
>>>>
>>>>>  Andreas Blomqvist wrote:
>>>>>
>>>>>>  Thats for httpClient 3 ?
>>>>>>
>>>>>>> /A
>>>>>>>
>>>>>>> On 19 February 2010 08:56, Avlesh Singh <avlesh@gmail.com>
wrote:
>>>>>>>
>>>>>>>  It says redirect is disabled? How do enable it? I thought redirect
>>>>>>> was
>>>>>>> on
>>>>>>>
>>>>>>>  by default, but did not work for POST
>>>>>>>>
>>>>>>>>>  Looking for - HttpMethod#followRedirects() ?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpMethod.html#setFollowRedirects%28boolean%29
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>> Avlesh
>>>>>>>>
>>>>>>>> On Fri, Feb 19, 2010 at 1:23 PM, Andreas Blomqvist <
>>>>>>>> blomqvist.andreas@gmail.com> wrote:
>>>>>>>>
>>>>>>>>  Hi
>>>>>>>>
>>>>>>>>  Here some loggs from when I tried to logon:
>>>>>>>>>
>>>>>>>>>  [java] The server is running at http://localhost:8282/
>>>>>>>>>  [java] Got request method login
>>>>>>>>>  [java] 2010-feb-19 07:48:45
>>>>>>>>> org.apache.http.client.protocol.RequestAddCookies process
>>>>>>>>>  [java] FIN: CookieSpec selected: best-match
>>>>>>>>>  [java] 2010-feb-19 07:48:45
>>>>>>>>> org.apache.http.impl.client.DefaultRequestDirector execute
>>>>>>>>>  [java] FIN: Attempt 1 to execute request
>>>>>>>>>  [java] 2010-feb-19 07:48:46
>>>>>>>>> org.apache.commons.httpclient.HttpMethodDirector isRedirectNeeded
>>>>>>>>>  [java] INFO: Redirect requested but followRedirects
is disabled
>>>>>>>>>
>>>>>>>>>  This log comes from HttpClient 3 (org.apache.commons.httpclient
>>>>>>>>> name
>>>>>>>>>
>>>>>>>> space), whereas all others come from HttpClient 4
>>>>>> (org.apache.http.client
>>>>>> name space).
>>>>>>
>>>>>> I have no idea what your application is supposed to do, but this
>>>>>> certainly
>>>>>> does not look right to me.
>>>>>>
>>>>>> Oleg
>>>>>>
>>>>>>
>>>>>>   [java] 2010-feb-19 07:48:46
>>>>>>
>>>>>>  org.apache.http.client.protocol.ResponseProcessCookies processCookies
>>>>>>>
>>>>>>>>  [java] FIN: Cookie accepted: "[version: 0][name: PHPSESSID][value:
>>>>>>>>> 9l8gtdf85tn4gitqjs0hg2f551][domain: schema.sthlm.friskissvettis.se
>>>>>>>>>
>>>>>>>>>  ][path:
>>>>>>>>>
>>>>>>>>  /][expiry: null]".
>>>>>>>>
>>>>>>>>>  [java] http://url_to_server/index.php?func=do_login
>>>>>>>>>  [java] 2010-feb-19 07:48:46
>>>>>>>>> org.apache.http.client.protocol.RequestAddCookies process
>>>>>>>>>  [java] FIN: CookieSpec selected: best-match
>>>>>>>>>  [java] 2010-feb-19 07:48:46
>>>>>>>>> org.apache.http.client.protocol.RequestAddCookies process
>>>>>>>>>  [java] FIN: Cookie [version: 0][name: PHPSESSID][value:
>>>>>>>>> 9l8gtdf85tn4gitqjs0hg2f551][domain: schema.sthlm.friskissvettis.se
>>>>>>>>>
>>>>>>>>>  ][path:
>>>>>>>>>
>>>>>>>>  /][expiry: null] match [
>>>>>>>> schema.sthlm.friskissvettis.se:80/index.php]
>>>>>>>>
>>>>>>>>>  [java] 2010-feb-19 07:48:46
>>>>>>>>> org.apache.http.impl.client.DefaultRequestDirector execute
>>>>>>>>>  [java] FIN: Attempt 1 to execute request
>>>>>>>>>  [java] 2010-feb-19 07:48:47
>>>>>>>>> org.apache.http.client.protocol.ResponseProcessCookies
>>>>>>>>> processCookies
>>>>>>>>>  [java] FIN: Cookie accepted: "[version: 0][name: PHPSESSID][value:
>>>>>>>>> 9tteoedfpeugqb81d2750dk3q5][domain: schema.sthlm.friskissvettis.se
>>>>>>>>>
>>>>>>>>>  ][path:
>>>>>>>>>
>>>>>>>>  /][expiry: null]".
>>>>>>>>
>>>>>>>>>  [java] 2010-feb-19 07:48:47
>>>>>>>>> org.apache.http.client.protocol.RequestAddCookies process
>>>>>>>>>  [java] FIN: CookieSpec selected: best-match
>>>>>>>>>  [java] 2010-feb-19 07:48:47
>>>>>>>>> org.apache.http.client.protocol.RequestAddCookies process
>>>>>>>>>  [java] FIN: Cookie [version: 0][name: PHPSESSID][value:
>>>>>>>>> 9tteoedfpeugqb81d2750dk3q5][domain: schema.sthlm.friskissvettis.se
>>>>>>>>>
>>>>>>>>>  ][path:
>>>>>>>>>
>>>>>>>>  /][expiry: null] match [
>>>>>>>> schema.sthlm.friskissvettis.se:80/index.php]
>>>>>>>>
>>>>>>>>>  [java] context: org.apache.http.protocol.BasicHttpContext@148e798
>>>>>>>>>  [java] 2010-feb-19 07:48:47
>>>>>>>>> org.apache.http.impl.client.DefaultRequestDirector execute
>>>>>>>>>  [java] FIN: Attempt 1 to execute request
>>>>>>>>>  [java] 2010-feb-19 07:48:47
>>>>>>>>> org.apache.http.client.protocol.ResponseProcessCookies
>>>>>>>>> processCookies
>>>>>>>>>  [java] FIN: Cookie accepted: "[version: 0][name: PHPSESSID][value:
>>>>>>>>> 7ugatbbqeku112d8atm9b9qr34][domain: schema.sthlm.friskissvettis.se
>>>>>>>>>
>>>>>>>>>  ][path:
>>>>>>>>>
>>>>>>>>  /][expiry: null]".
>>>>>>>>
>>>>>>>>>
>>>>>>>>> It says redirect is disabled? How do enable it? I thought
redirect
>>>>>>>>> was
>>>>>>>>> on
>>>>>>>>> by
>>>>>>>>> default, but did not work for POST
>>>>>>>>>
>>>>>>>>> /A
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 18 February 2010 21:17, Oleg Kalnichevski <olegk@apache.org>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>  Andreas Blomqvist wrote:
>>>>>>>>>
>>>>>>>>>   Hi
>>>>>>>>>>
>>>>>>>>>>  Doing a POST login to a site (which I dont control)
and manually
>>>>>>>>>>> redirecting. However I am not getting logged
in until I make a
>>>>>>>>>>> second
>>>>>>>>>>>
>>>>>>>>>>>  call
>>>>>>>>>>>
>>>>>>>>>> to the login method. Why?
>>>>>>>>>>
>>>>>>>>>>  My code for login :
>>>>>>>>>>>
>>>>>>>>>>>  private HttpContext login(DefaultHttpClient
httpClient, String
>>>>>>>>>>>
>>>>>>>>>>>  button,
>>>>>>>>>>>
>>>>>>>>>> String user, String pass) throws UnsupportedEncodingException,
>>>>>>>>>
>>>>>>>>>  IOException
>>>>>>>>>> {
>>>>>>>>>>
>>>>>>>>>>      HttpResponse response = null;
>>>>>>>>>>>     HttpEntity entity = null;
>>>>>>>>>>>     HttpPost httpost = new HttpPost(BASE_URL
+
>>>>>>>>>>> "/index.php?func=do_login");
>>>>>>>>>>>
>>>>>>>>>>>     List<NameValuePair> nvps = new ArrayList<NameValuePair>();
>>>>>>>>>>>     nvps.add(new BasicNameValuePair("btn_login",
button));
>>>>>>>>>>>     nvps.add(new BasicNameValuePair("txt_login",
user));
>>>>>>>>>>>     nvps.add(new BasicNameValuePair("psw_password",
pass));
>>>>>>>>>>>
>>>>>>>>>>>     httpost.setEntity(new UrlEncodedFormEntity(nvps,
>>>>>>>>>>> HTTP.UTF_8));
>>>>>>>>>>>
>>>>>>>>>>>     HttpContext context = new BasicHttpContext();
>>>>>>>>>>>     response = httpClient.execute(httpost, context);
>>>>>>>>>>>
>>>>>>>>>>>     System.out.println("Post status is " +
>>>>>>>>>>>
>>>>>>>>>>>  response.getStatusLine());
>>>>>>>>>>>     entity = response.getEntity();
>>>>>>>>>>>     if (entity != null) {
>>>>>>>>>>>         entity.consumeContent();
>>>>>>>>>>>     }
>>>>>>>>>>>
>>>>>>>>>>>     HttpUriRequest request = (HttpUriRequest)
>>>>>>>>>>> context.getAttribute(
>>>>>>>>>>>             ExecutionContext.HTTP_REQUEST);
>>>>>>>>>>>
>>>>>>>>>>>     String uri = BASE_URL + request.getURI().toString();
>>>>>>>>>>>
>>>>>>>>>>>     System.out.println("uri in login " + uri);
>>>>>>>>>>>
>>>>>>>>>>>     HttpGet redirect = new HttpGet(uri);
>>>>>>>>>>>     response = httpClient.execute(redirect, context);
>>>>>>>>>>>
>>>>>>>>>>>     System.out.println("Redirect HttpGet status
is " +
>>>>>>>>>>> response.getStatusLine());
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>     entity = response.getEntity();
>>>>>>>>>>>     if (entity != null) {
>>>>>>>>>>>         entity.consumeContent();
>>>>>>>>>>>     }
>>>>>>>>>>>
>>>>>>>>>>>     return context;
>>>>>>>>>>>  }
>>>>>>>>>>>
>>>>>>>>>>> After a call to this method I get output: (checking
login status
>>>>>>>>>>> is
>>>>>>>>>>>
>>>>>>>>>>>  method
>>>>>>>>>>>
>>>>>>>>>> I
>>>>>>>>>>
>>>>>>>>>>  made to check for att logout link on the page.
>>>>>>>>>>>
>>>>>>>>>>>  [java] Post status is HTTP/1.1 302
>>>>>>>>>>>  [java] uri in login url_to_first_page
>>>>>>>>>>>  [java] Redirect HttpGet status is HTTP/1.1 200
>>>>>>>>>>>  [java] Checking login statuts: false
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Any thoughts?
>>>>>>>>>>>
>>>>>>>>>>> /A
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  Post wire log
>>>>>>>>>>>
>>>>>>>>>>>  http://hc.apache.org/httpcomponents-client/logging.html
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>  ---------------------------------------------------------------------
>>>> 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
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message