using urllib, urllib2 , mechanize to access password protected site

John J. Lee jjl at pobox.com
Sun Jul 1 12:18:44 EDT 2007


comeshopcheap <moishyyehuda at gmail.com> writes:

> Hi
>
> I am using this script to access doba.com (I need to download some
> files) but I keep on being sent back to the login page not the user
> home page. Any help. I think I may need to use a post method and
> opener is using a get method
>
> Thanks
>
> import mechanize
> cookies = mechanize.CookieJar()
> # build_opener() adds standard handlers (such as HTTPHandler and
> # HTTPCookieProcessor) by default.  The cookie processor we supply
> # will replace the default one.
> opener =
> mechanize.build_opener(mechanize.HTTPCookieProcessor(cookies))
> opener.addheaders = [("User-agent", "Mozilla/5.0 (Windows; U; Windows
> NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"), ]
> data="username=user&password=pw"
> #r = opener.open("http://comeshopcheap.com/")  # GET
> r = opener.open("https://www.doba.com/members/login.php", data)  # POST

You shouldn't need to worry re POST and GET.

Visiting the login page is presumably not enough in itself to log you
in.  So, what are you doing to ensure you're logged in?

Probably you want to fill in and submit the login form on the login
page.  Alternatively, use e.g. mechanize.MozillaCookieJar and load
cookies from your web browser (this option requires that you are
already logged in persistently, though, so I'd suggest filling in the
login form as the safe option).


John



More information about the Python-list mailing list