Help-log in to a web page

Laszlo Zsolt Nagy gandalf at designaproduct.biz
Thu Oct 6 05:00:54 EDT 2005


Murugesh wrote:

>Hi all,
>I'm a newbie to python.I need to login to a webpage after supplying 
>usename and password.
>
>import urllib   
>sock = urllib.urlopen("http://xop-pc.main.com")
>htmlSource = sock.read()                           
>sock.close()                                       
>print htmlSource        
>
>In the above code how can i supply username and password to that URL.
>Thanks for you time.
>  
>
xop-pc.main.com is not an existing site.
Can you tell me what kind of authentication method it is using?
If that is the "basic authentication" (defined the standard HTTP 
protocol) then you need to read this:

http://docs.python.org/lib/urlopener-objs.html

Basically, you need to subclass URLopener or FancyURLopener, and 
overwrite its "prompt_user_passwd" method.
That method will be then called whenever the server needs authentication.

Here is a template for you (untested):


from urllib import FancyURLOpener
class MyOpener(FancyURLOpener):
    def prompt_user_passwd(host,realm):
       return ('myusername','mypassword')

opener = MyOpener({})
f = opener.open("http://xop-pc.main.com")
try:
    html_source = f.read()
finally:
    f.close()



Best,

  Les









More information about the Python-list mailing list