Hi Jean-Rémioyage,

POST methods _may_ not be redirected. When a web server responds with a redirect 
status code to a POST request, the agent should execute an HTTP GET against the url 
location specified in the POST response. Currently HttpClient is not able to do it 
automatically, but it is not very difficult to work this limitation around. Please 
refer to the 'Handling Redirects' section of the document below for details:

http://jakarta.apache.org/commons/httpclient/redirects.html

I hope this helps

Oleg

-----Original Message-----
From: JEAN REMI LECQ [mailto:[EMAIL PROTECTED]
Sent: Monday, January 19, 2004 15:27
To: [EMAIL PROTECTED]
Subject: PostMethod.setFollowRedirects(true); -> do nothing




Hi,
Sorry for my english ! I will make short to be sure you anderstand me...
I read a big part of the mailing list archive, but i do not find a solution
by now.

I encounter difficulties to make a redirection after a POST Method:

Error message :
*************************************************************
16 janv. 2004 18:52:46 org.apache.commons.httpclient.HttpMethodBase
processRedirectResponse
INFO: Redirect requested but followRedirects is disabled
*************************************************************

my code :

***************************************************************
String source="";
PostMethod methode = new PostMethod(URL);
methode.setFollowRedirects(true);
methode.setRequestBody(data);           // data is like in tutorial : NameValuePair[]
if(methode.getFollowRedirects())
        System.out.println("FollowRedirects TRUE");
else
        System.out.println("FollowRedirects FALSE");
myHttpClient.executeMethod(methode);
String redirectLocation=null;
Header locationHeader = methode.getResponseHeader("location");
if (locationHeader != null) {
        redirectLocation = locationHeader.getValue();
} else {
        System.out.println("ERROR : 01");
}
if(redirectLocation!=null){
        GetMethod getMeth=new GetMethod(redirectLocation);
        myHttpClient.executeMethod(getMeth);
        source=methode.getResponseBodyAsString();
}
doSomethingWithSource();
****************************************************************

for information, this part :
>if(methode.getFollowRedirects()) System.out.println("FollowRedirects
TRUE");
>else System.out.println("FollowRedirects FALSE");
always return FALSE !

If anybody has any idea what I am doing wrong, I'd be very pleased if he/she
told me :-)

Cordialement,

Jean-Rémioyage.fr


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


*********************************************************************
The information in this email is confidential and may be legally
privileged.  Access to this email by anyone other than the
intended addressee is unauthorized.  If you are not the intended
recipient of this message, any review, disclosure, copying,
distribution, retention, or any action taken or omitted to be taken
in reliance on it is prohibited and may be unlawful.  If you are not
the intended recipient, please reply to or forward a copy of this
message to the sender and delete the message, any attachments,
and any copies thereof from your system.
*********************************************************************

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

Reply via email to