私はいくつかのXMLファイルをrequests.get経由でウェブサイトから取得しようとしています これは文字列でユーザー名とパスワードを渡す限り完全に動作します私はget_passwordを使って受け取った変数でそれらを渡そうとします。python - HTTPBasicAuthを持つrequests.getは、テキストで動作します。varのものではありません
私は、requests.getのすべてのビットをゆっくりと置き換えてすべての部分をダブルチェックしました。ユーザー名またはパスワードの部分に(またはその部分のために)varを使用するとすぐに間違っています。 2人のうちの誰も私の要求と一緒に送っていないようです。
私が得意なエラーは、ツリーには解析するコンテンツがないことです(基本的にサイトはリクエストを拒否しました)。
私は、requests.getの変数部分を使用しないとコードが機能します。
使用されるOSは、Anaconda 4.3フレームワーク(Python 3.6)と共にWindows 10です。 (注:コードネームのurl/usernameを削除しましたが、サイトでは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)