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 12:59:29 GMT
"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