On Tue, 19 Sep 2006, Titus Brown wrote: [...] > Here's the code from twill: > > creds = urllib2.HTTPPasswordMgr() > creds.add_password(realm, uri, user, passwd) > mechanize_browser.set_password_manager(creds) > > Should that work? >
No! 1. Never use urllib2: (search for the word 'IMPORTANT' ;-) http://wwwsearch.sourceforge.net/mechanize/ or, since SF seems a bit dodgy today: http://codespeak.net/svn/wwwsearch/mechanize/trunk/README.html.in To be explicit, here's the relevant bit: The classes and functions exported by mechanize in its public interface that come straight from urllib2 (e.g. FTPHandler, at the time of writing) do work with mechanize (duh ;-). Exactly which of these classes and functions come straight from urllib2 without extension or modification will change over time, though, so don't rely on it; instead, just import everything you need from mechanize, never from urllib2, which is explicitly OK (though not well tested ATM), subject to the other restrictions in the list above. (um, what the above paragraph means is: always use mechanize.Blah, not urllib2.Blah :-) 2. Use browser.add_password() and .add_proxy_password(), not .set_password_manager(). You don't need to make an HTTPPasswordManager yourself any more. If you do that, you'll get the fixes I made in 2.5 and backported to mechanize. John _______________________________________________ twill mailing list [email protected] http://lists.idyll.org/listinfo/twill
