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 [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.basichttpcont...@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 <[email protected]> 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: [email protected] > For additional commands, e-mail: [email protected] > >
