You may also want to look into mechanize module.

On Thu, Mar 4, 2010 at 6:11 PM, Michael Rudolf <spamfres...@ch3ka.de> wrote:

> Am 04.03.2010 11:38, schrieb Karen Wang:
>
>  Hi all,
>>
>> I want to use python to access to https server, like
>> "https://212.218.229.10/chinatest/";
>>
>> If open it from IE, will see the pop-up login windows like this
>>
>>
>>
>> I tried several ways but always only get page for" HTTP Error 401.2 -
>> Unauthorized" error. ( myusername and mypassword are all correct)
>>
>> Below is my code:
>>
>> import urllib2
>>
>> values = {
>>
>>     'user' : "myusername",
>>
>> "pass' : "mypassword" }
>>
>> data = urllib2.urlencode(values)
>>
>> t = urllib2.urlopen('https://212.218.229.10/chinatest/',data)
>>
>> print t.read()
>>
>> where I am wrong ?
>>
>
> AFAIR does urlopen() expect the password to be Base64-encoded, not
> urlencoded.
>
> You might also need to add an AUTH-Line. But this all does not matter, as
> there is more than one AUTH-Method you'd have to implement them all, but
> fortunately urllib2.HTTPBasicAuthHandler and urllib2.HTTPBasicAuthHandler
> exist.
>
> So use them:
>
> import urllib2
> passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
> passman.add_password(None, theurl, username, password)
> authhandler = urllib2.HTTPBasicAuthHandler(passman)
> opener = urllib2.build_opener(authhandler)
> urllib2.install_opener(opener)
> pagehandle = urllib2.urlopen(theurl)
>
> (taken from
> http://www.voidspace.org.uk/python/articles/authentication.shtml )
>
> Further reference:
> http://www.python.org/doc/2.5.2/lib/module-urllib2.html
> http://www.python.org/doc/2.5.2/lib/urllib2-examples.html
>
> HTH,
> Michael
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to