Hello Joe,

Tuesday, December 7, 2004, 3:50:53 AM, you wrote:

> Hi , it looks like that HTTPConnection class is not  capable to
> handle 302 redirect response. Is there any sample implementation
> that  tackle this problem? I am using python 2.3.3 on Windows
> platform.

I'm using this method (inside a class). It works fine for me:

    def getconnection(self,url,handle_redirects=True,headers={}):
        """Get a httplib connection for the given url.
        
        @param url: Should be a relative path for the HTTP request.
        @type url: string
        @param handle_redirects: Set this to True if you want to follow 
redirects (301 and 302). (default)
        @return: The httplib connection for the specified (or redirected) 
url."""
        if url.upper()[:6] == 'HTTPS:':
            conn = httplib.HTTPSConnection(self.host)
        else:
            conn = httplib.HTTPConnection(self.host)
        conn.connect()
        if not headers.has_key("User-Agent"):
            headers["User-Agent"] = self.agent
        if handle_redirects:
            # Now we handle 301 and 302 too!
            conn.request("HEAD", url,headers=headers)
            responseOb = conn.getresponse()      ## Grab HTTPResponse Object
            if responseOb.status in (301,302,):
                url = urlparse.urljoin(url, responseOb.getheader('location', 
''))
                conn = self.getconnection(url,True)
        return conn


        I hope this helps.


-- 
Best regards,
 Laszlo
 mailto:[EMAIL PROTECTED]
 web: http://designasign.biz
 

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to