我嘗試通過requests.get 從網站獲取一些XML文件,只要我通過字符串通過用戶名和密碼,但不是當我嘗試通過使用get_password接收的變量來傳遞它們。python - requests.get與HTTPBasicAuth與文本,而不是var的
我已經通過緩慢地替換requests.get中的每一位來檢查每個部分,並且一旦我使用var作爲用戶名或密碼部分(或組合該部分),就會出錯。似乎沒有兩個人隨我的要求一起發送。
我得到的錯誤是該樹沒有內容解析(基本上該網站拒絕了我的請求)。
要說清楚:如果我不使用requests.get中的變量部分,代碼就會工作。
使用的是Windows 10以及Anaconda 4.3框架(python 3.6)。 (注意:我已經刪除了codesnippet中的url /用戶名,但是該網站確實使用了HTTPBasicAuth :))我得到了很狡猾的感覺,這是我缺少的某種明顯的東西,或者需要壓縮的錯誤。
import requests
from requests.auth import HTTPBasicAuth
import xml.etree.ElementTree as ET
from keyring import set_password
from keyring import get_password
a = '<url>'
username = '<workingusernameforsite>'
set_password('sn', username, '<verysecretpassword')
wachtwoord = str(get_password('sn', username))
page = requests.get(a, auth=HTTPBasicAuth(username, wachtwoord))
tree = ET.fromstring(page.content)
for element in tree.findall(".//number"):
print(element.text)