authentication with urllib3

2019-05-10 04:37发布

问题:

I am trying to connect to a webpage using urllib3. The code is provided below.

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

If we assume that url is some webpage which needs to be authenticated using username and password, am i using the right code to authenticate ?

I have did this using urllib2 very comfortably but i was not able to do the same thing using urllib3.

Many Thanks

回答1:

Assuming you're trying to do Basic Authentication, then you need to put the username and password encoded in an authorization header. Here's one way to do that using the urllib3.util.make_headers helper:

import urllib3

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