I am using the nightly drop from 5/22 (filename "commons-httpclient-src-20030522.zip").
 
I first noticed the double encoding when using Ethereal (a packet analyzer), and later 
just watched member variables in HttpMethodBase in the debugger.
 
I will try a later version of the source and let you know.

        -----Original Message----- 
        From: Adrian Sutton [mailto:[EMAIL PROTECTED] 
        Sent: Tue 5/27/2003 6:18 PM 
        To: 'Jakarta Commons Users List' 
        Cc: 
        Subject: RE: [httpclient] URL encoding
        
        

        Hi Tracy,
        There is something very strange going on here, I don't think you're using
        the HttpClient you think you are.  When you first posted, I used code almost
        identical to what you're using to test it and had no problems.  I've just
        tested again with what will become 2.0-beta1 when the release manager gets
        back and there is still no problem using the code you posted.
        
        Where are you seeing the doubly escaped URL come out?  I'm looking at the
        wire trace to see exactly what is sent to the server and it's sent to the
        server exactly how I passed it into the GetMethod.  Can you provide the wire
        trace of your attempts?  Instructions for doing so can be found at
        http://jakarta.apache.org/commons/httpclient/logging.html
        
        I must admit the getEscapedURI() and getEscapedQuery() calls look pretty
        suspicious, but unless I can reproduce the problem I can't be sure enough
        that they should really be changed - there's some strange stuff that happens
        in the URI classes at times and I don't understand it all. :)
        
        Adrian Sutton, Software Engineer
        Ephox Corporation
        www.ephox.com
        
        -----Original Message-----
        From: Tracy Boehrer [mailto:[EMAIL PROTECTED]
        Sent: Tuesday, 27 May 2003 11:54 PM
        To: Jakarta Commons Users List
        Subject: RE: [httpclient] URL encoding
        
        
        Given:
        
                import java.net.*;
                import java.util.*;
        
                import org.apache.commons.httpclient.*;
                import org.apache.commons.httpclient.methods.*;
        
                public class MyGetContents
                {
                        public static void main(String args[]) throws
        MalformedURLException
                        {
                                try
                                {              
                                        HttpClient client = new HttpClient();
                                        GetMethod gm = new GetMethod(
        "http://mail2:80/exchange/tboehrer/Inbox/RE: Test Message.EML" );
                                        client.executeMethod( gm );
                                }
                                catch( Exception e )
                                {
                                        System.out.println( e );
                                }
                        }
                }
        
        Since I don't have the URL esaped, I get the following exception:
        
        java.lang.IllegalArgumentException: Invalid uri
        'http://mail2:80/exchange/tboehrer/Inbox/RE: Test Message.EML': escaped
        absolute path not valid
        
        If I escape the URL to be:
        http://mail2:80/exchange/tboehrer/Inbox/RE:%20Test%20Message.EML, then after
        "parsedURI.getEscapedPath()" (below), the resultant URL is
        http://mail2:80/exchange/tboehrer/Inbox/RE:%2520Test%2520Message.EML.
        
        Just so that I could move on, I changed "parsedURI.getEscapedPath()" to
        "parsedURI.getPath()" and it seems to work fine.
        
        -----Original Message-----
        From: Adrian Sutton [mailto:[EMAIL PROTECTED]
        Sent: Sunday, May 25, 2003 5:55 PM
        To: 'Jakarta Commons Users List'
        Subject: RE: [httpclient] URL encoding
        
        
        Hi Tracy,
        HttpClient should take only fully encoded URIs so the behaviour you describe
        would be a bug, however I can't reproduce the problem.  Could you please
        send through a simple test case showing the problem or at least the source
        code you're using that experiences the problem?
        
        Thanks in advance,
        
        Adrian Sutton, Software Engineer
        Ephox Corporation
        www.ephox.com
        
        -----Original Message-----
        From: Tracy Boehrer [mailto:[EMAIL PROTECTED]
        Sent: Saturday, 24 May 2003 12:04 AM
        To: [EMAIL PROTECTED]
        Subject: [httpclient] URL encoding
        
        
        Using the nightly source drop for 5/22, I am a bit confused as to what is
        required of a URL when constructing a HttpMethodBase.  If I supply an
        unescaped URL (that requires it), an exception is thrown.  If I escape the
        URL, then this class will escape it again at around line 277:
        
                    // set the path, defaulting to root
                    setPath(
                        parsedURI.getPath() == null
                        ? "/"
                        : parsedURI.getEscapedPath()
                    );
        
        
        
        
        
        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [EMAIL PROTECTED]
        For additional commands, e-mail: [EMAIL PROTECTED]
        
        
        

Reply via email to