On Mon, 2006-02-06 at 12:47 +0100, Juan Luis de Amaya Robles wrote:
> Hi everybody,
> 
> Last week I wrate the mails below. 
> I think found the problem,...
> 
> When i run my program i get this response header:
> 
> 12:36:58: >> "GET /index.php HTTP/1.1[\r][\n]"
> 12:36:58: >> "Cookie:
> PHPSESSID=392f3d0db60fe8e2d77dd4dd4a30b84c[\r][\n]"
> 12:36:58: >> "Cookie: cookIdioma=2[\r][\n]"
> 12:36:58: >> "User-Agent: Jakarta Commons-HttpClient/3.0[\r][\n]"
> 12:36:58: >> "Host: www-dev.fundacionolgatorres.org[\r][\n]"
> 12:36:58: >> "[\r][\n]"
> 12:36:58: << "HTTP/1.1 200 OK[\r][\n]"
> 12:36:58: << "Date: Mon, 06 Feb 2006 11:31:43 GMT[\r][\n]"
> 12:36:58: << "Server: Apache[\r][\n]"
> 12:36:58: << "X-Powered-By: PHP/5.0.5[\r][\n]"
> 12:36:58: << "Set-Cookie: PHPSESSID=392f3d0db60fe8e2d77dd4dd4a30b84c,
> cookIdioma=2; path=/[\r][\n]"

This cookie header is invalid. I am not sure that causes the server to
send an invalid cookie in response to a request generated with
HttpClient, but these are things to try 

(1) Try using the browser compatibility policy instead of the default
one
http://jakarta.apache.org/commons/httpclient/cookies.html

(2) Try masquerading HttpClient as a common browser
http://jakarta.apache.org/commons/httpclient/troubleshooting.html 

Oleg

> 12:36:58: << "Expires: Thu, 19 Nov 1981 08:52:00 GMT[\r][\n]"
> 12:36:58: << "Cache-Control: no-store, no-cache, must-revalidate,
> post-check=0, pre-check=0[\r][\n]"
> 12:36:58: << "Pragma: no-cache[\r][\n]"
> 12:36:58: << "Transfer-Encoding: chunked[\r][\n]"
> 12:36:58: << "Content-Type: text/html; charset=ISO-8859-1[\r][\n]"
> 
> But if i run on firefox browser (for instance) i get:
> 
> Response Headers - http://www-dev.fundacionolgatorres.org/index.php
> 
> Date: Mon, 06 Feb 2006 11:38:02 GMT
> Server: Apache
> X-Powered-By: PHP/5.0.5
> Set-Cookie: PHPSESSID=23ed591387689e00636ec63a59a2248a; path=/
> Expires: Thu, 19 Nov 1981 08:52:00 GMT
> Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
> pre-check=0
> Pragma: no-cache
> Keep-Alive: timeout=15, max=100
> Connection: Keep-Alive
> Transfer-Encoding: chunked
> Content-Type: text/html; charset=ISO-8859-1
> 
> Difference is in Set-Cookie line:
> 
> "Set-Cookie: PHPSESSID=392f3d0db60fe8e2d77dd4dd4a30b84c, cookIdioma=2;
> path=/[\r][\n]"
> 
> In firefox i don't get the cookIdioma=2
> 
> Why with "cookIdioma" doesn't work?
> 
> 
> 
> 
> -----Mensaje original-----
> De: Juan Luis de Amaya Robles 
> Enviado el: viernes, 03 de febrero de 2006 9:02
> Para: 'HttpClient User Discussion'
> Asunto: RE: Persistent connections
> 
> Hi Roland,
> 
> Thank you for your answer.
> Yes, I use the same object. In fact, I've implemented the singleton
> pattern:
> 
> public class CookieDemoApp {
>       
>       private static CookieDemoApp _instance;
>     
>       private HttpClient httpclient;
> ...
> ...
> public static CookieDemoApp getInstance(){
>       if (_instance == null){
>               _instance = new CookieDemoApp();
>       }
>       return _instance;
>     }
>     
>     private CookieDemoApp(){
>       HttpState initialState = new HttpState();       
>       httpclient = new HttpClient();
>  
> httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(3
> 0000);
>       httpclient.setState(initialState);
>  
> httpclient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILIT
> Y);
>     }
> 
> public void connect(String strURL) throws Exception {
>       System.out.println("Target URL: " + strURL);
>         
>         // Get HTTP GET method
>       GetMethod httpget = new GetMethod(strURL);
>       ...
>       ...
> 
> 
> And the caller is:
> 
> CookieDemoApp demo = CookieDemoApp.getInstance();
>       
> demo.connect("http://www-dev.fundacionolgatorres.org/estructura/idioma/c
> ambiar_idioma.php?Mg%3D%3D");
>       
> demo.connect("http://www-dev.fundacionolgatorres.org/index.php";);
> 
> 
> Prints to console, (sorry, the urls are not public):
> 
> Target URL:
> http://www-dev.fundacionolgatorres.org/estructura/idioma/cambiar_idioma.
> php?Mg%3D%3D
> Response status code: 200
> Present cookies: 
>  - PHPSESSID=47b53d8001c9de9c25f6c877151a0566
>  - cookIdioma=2    <---- it means english language, so the cookie
> information is ok.
> 
> Target URL: http://www-dev.fundacionolgatorres.org/index.php
> Response status code: 200
> Present cookies: 
>  - PHPSESSID=47b53d8001c9de9c25f6c877151a0566
>  - cookIdioma=2       <--- ok
> Not found!    <--- it means the resulted page is incorrect. Returns page
> in default language (spanish)
> 
> Any suggestions?
> Thanks again!
> 
> 
> -----Mensaje original-----
> De: Roland Weber [mailto:[EMAIL PROTECTED] Enviado el: viernes, 03 de
> febrero de 2006 7:22
> Para: HttpClient User Discussion
> Asunto: Re: Persistent connections
> 
> Hi Juan,
> 
> "Juan Luis de Amaya Robles" <[EMAIL PROTECTED]> wrote on
> 02.02.2006 19:48:50:
> 
> > I have two urls to call (PHP pages). One sets a language variable in 
> > session. Another returns data depending on the session var.
> > 
> > i think, i need stablish persistent connection to connect web pages 
> > with session data.
> 
> No. If connections were persistent, you wouldn't need a session.
> 
> > When i call the first one url, it returns a cookie with a PHPSESSID 
> > (it's a php). ok.
> > I understand that cookie is sended when I call the second one url, but
> 
> > i get a incorrect second page, well, the language is not correct.
> > This is because the session is incorrect. I think.
> 
> Quite possible. Make sure you use the same HttpClient object for both
> requests.
> Check out our cookie guide to see whether your problem is addressed
> there:
> 
> http://jakarta.apache.org/commons/httpclient/cookies.html
> 
> > When i print the "isPersistent()" method is returned false. I must 
> > configure anything else?
> > where the cookie is stored?
> 
> HttpClient never stores persistent cookies anywhere but in memory.
> By default, they are put into the state of the HttpClient object.
> Make sure you use the same HttpClient object for both request. Don't
> pass an explicit state to the second request. Try the "browser
> compatibility" cookie spec, since some servers send domain names without
> a leading dot.
> 
> hope that helps,
>   Roland
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to