如何使用 Python 和 urllib2 获取受保护页面的内容?
我需要为要检索的页面指定用户名和密码。例如
content = urllib2.urlopen(URL, username, password).read()
我知道这不是 urllib2 API 的一部分。只需从 API 中举例说明我需要什么。
如何使用 Python 和 urllib2 获取受保护页面的内容?
我需要为要检索的页面指定用户名和密码。例如
content = urllib2.urlopen(URL, username, password).read()
我知道这不是 urllib2 API 的一部分。只需从 API 中举例说明我需要什么。
我建议你看看python requests库。
它对开箱即用的基本 http 身份验证有很好的支持。
例如
import requests
content = requests.get(URL, auth=('user', 'pass'))
使用requests
您还可以设置sessions
(用于 cookie 管理)和轻松POST
数据(例如登录表单)并保留 cookie 以浏览所有只有登录用户才能访问的页面。
在优秀的文档中阅读有关会话对象和发布数据的更多信息。
如果您绝对必须使用urllib2
这里是从另一个线程中获取的用于基本 HTTP 身份验证的有用片段:
import urllib2, base64
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.standard_b64encode('%s:%s' % (username, password))
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)