URL Request mit Authentifizierung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
nfo2000
User
Beiträge: 1
Registriert: Sonntag 22. Dezember 2024, 00:45

Hallo zusammen,
ich versuche schon einige Stunden lang eine Antwort von einer URL zu erhalten.

Ich habe einen 3D Drucker. Dieser hat ein Webinterface mit einer API.
http://<ip-adresse>/api/v1/status

wenn ich diese bei mir im Firefox aufrufe bekomme ich die Aufforderung von Firefox nach User und Passwort. Wenn ich die dann eingebe und bestätige komme ich auch an die Daten in Form einer Liste.
Wenn ich folgendes eingebe erspare ich mir das eintippen der Authentifikation: http://<user>:<password>@<ip-adresse>/api/v1/status und der Browser macht es gleich auf. Geht auch mit anderen Browsern.

Nun bin ich aber in Python und da scheint das nicht so einfach zu sein. Habe mit urllib3 schon einige Versuche hinter mir mit dem Fehler 401


http = urllib3.PoolManager()
myHeaders = urllib3.util.make_headers(basic_auth='<user>:<password>')
response = http.request("GET","http://<ip-adresse>/api/v1/status", headers=myHeaders)
if response.status == 200:
print('Status:', response.status)
print('Headers:', response.headers)
print('Body:', response.data.decode('utf-8'))
else:
print('Request failed with status', response.status)

Habt ihr da noch eine Idee wie ich da weiterkomme? Wäre für Hilfe sehr dankbar.
Gruß
Nicolas
Benutzeravatar
sparrow
User
Beiträge: 4432
Registriert: Freitag 17. April 2009, 10:28

Woher weißt du, dass du dich mit Basic-Auth anmelden musst?
Was steht in der API-Beschreibung? Wenn du die nicht hast: Welche Authentifizierungsmethode verwendet der Browser und wie genau hat du das geprüft?
Antworten