"Eino Mäkitalo" <[EMAIL PROTECTED]> wrote:

> It seems that urrlib2 default redirection does not allow me to handle
> Cookies. Service I'm trying seems to use IP switcher and session id's with 
> cookies. After 
> successful login it changes session id (PD-H_SESSION-ID) in 302 Moved 
> temporarily.

and adds a new cookie.

> Urllib2 is so clever that it handles redirection but with wrong cookies.

with the old cookies, that is.  that's stupid.

here's an ugly hack for the old urllib that looks for set-cookie headers in
redirects, and adds corresponding cookie headers to the new request:

import urllib

class my_url_opener(urllib.FancyURLopener):

    def http_error_302(self, *args):
        headers = args[4]
        # print headers # <-- uncomment to see the headers
        cookie = headers.get("set-cookie")
        if cookie:
            # this is ugly
            self.addheaders.append(("Cookie", cookie.split(";")[0]))
        return urllib.FancyURLopener.http_error_302(self, *args)

myurlopen = my_url_opener().open

myurlopen("http://www.google.com";)

</F> 



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

Reply via email to