使用基本访问身份验证从Python读取https url

Eta*_*tam 4 python authentication passwords https

你如何在Python中打开https url?

import urllib2

url = "https://user:password@domain.com/path/
f = urllib2.urlopen(url)
print f.read()
Run Code Online (Sandbox Code Playgroud)

得到:

httplib.InvalidURL: nonnumeric port: 'password@domain.com'
Run Code Online (Sandbox Code Playgroud)

Joh*_*tta 11

这从来没有让我失望过

import urllib2, base64
username = 'foo'
password = 'bar'
auth_encoded = base64.encodestring('%s:%s' % (username, password))[:-1]

req = urllib2.Request('https://somewebsite.com')
req.add_header('Authorization', 'Basic %s' % auth_encoded)
try:
    response = urllib2.urlopen(req)
except urllib2.HTTPError, http_e:
    # etc...
    pass
Run Code Online (Sandbox Code Playgroud)


S.L*_*ott 5

请阅读urllib2密码管理器和基本身份验证处理程序以及摘要身份验证处理程序.

http://docs.python.org/library/urllib2.html#abstractbasicauthhandler-objects

http://docs.python.org/library/urllib2.html#httpdigestauthhandler-objects

您的urllib2脚本实际上必须提供足够的信息来进行HTTP身份验证.用户名,密码,域名等