[英]authentication with urllib3
我正在嘗試使用 urllib3 連接到網頁。 下面提供了代碼。
import urllib3
http=urllib3.PoolManager()
fields={'username':'abc','password':'xyz'}
r=http.request('GET',url,fields)
如果我們假設 url 是一些需要使用用戶名和密碼進行身份驗證的網頁,我是否使用正確的代碼進行身份驗證?
我已經非常輕松地使用 urllib2 完成了這項工作,但我無法使用 urllib3 完成同樣的事情。
非常感謝
假設您正在嘗試執行Basic Authentication ,那么您需要將編碼的用戶名和密碼放在Authorization
標頭中。 這是使用urllib3.make_headers幫助程序執行此操作的一種方法:
import urllib3
http = urllib3.PoolManager()
url = '...'
headers = urllib3.make_headers(basic_auth='abc:xyz')
r = http.request('GET', url, headers=headers)
下面是一個使用請求庫(ubuntu 和 python 3.6)對 API 進行身份驗證的工作示例。 希望能幫助到你!
import json
import requests
from requests.auth import HTTPBasicAuth
def __init__(self):
header = {"Content-Type": "application/json"}
access_url = "https://your.login.url/context_path"
data = {
"key_to_send":"value_to_send"
}
def get_token(self):
self.data = json.dumps(self.data)
encoded_data = json.dumps(self.data).encode('utf-8')
self.response = requests.post(self.access_url, auth=HTTPBasicAuth(self.username, self.password), headers=self.header, data=self.data)
# Show me what you found
print(self.response.text)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.