使用urllib3进行身份验证

kic*_*ich 3 python authentication urllib3

我正在尝试使用urllib3连接到网页.代码如下.

import urllib3
http=urllib3.PoolManager()
fields={'username':'abc','password':'xyz'}
r=http.request('GET',url,fields)
Run Code Online (Sandbox Code Playgroud)

如果我们假设url是某个需要使用用户名和密码进行身份验证的网页,我是否使用正确的代码进行身份验证?

我使用urllib2非常舒服地做了这个,但是我无法使用urllib3做同样的事情.

非常感谢

sha*_*zow 16

假设您正在尝试进行基本身份验证,那么您需要将用户名和密码编码在authorization标头中.以下是使用urllib3.util.make_headers帮助程序执行此操作的一种方法:

import urllib3

http = urllib3.PoolManager()
url = '...'
headers = urllib3.util.make_headers(basic_auth='abc:xyz')
r = http.request('GET', url, headers=headers)
Run Code Online (Sandbox Code Playgroud)

  • @kassold 可以尝试 `headers = {'Cache-Control': 'no-cache,max-age=0',...}` 然后使用 `update` 拉入 `make_headers` 生成的字典,例如 `headers。更新(urllib3.util.make_headers(basic_auth = 'abc:123'))` (2认同)