[Python-de] Re: Webserver auslesen

Hardy Erlinger <[email protected]> Fri, 15 Mar 2024 09:02:32 +0000
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
>> ich würde gerne einen Webserver (Heizung)
>> mit Python auslesen, bis jetzt mit HTTPDigestAuth so:
>> 
>>      url='http://xxx.xxx.xxx.xxx/api/1.0/datapoint/1'
>>      r = requests.get(url, auth=HTTPDigestAuth('user', 'passwort'), 
>> verify=False,  stream=True)
>>      inhalt = r.text
>> Funktioniert.
>> 
>> Nun möchte ich ich aber die weiteren Punkte ohne übergabe der
>> Benutzerdaten auslesen, quasi so:
>> 
>>      url='http://xxx.xxx.xxx.xxx/api/1.0/datapoint/2'
>>      r = requests.get(url, verify=False,  stream=True)
>>      inhalt = r.text
>> 
>> Wie stelle ich es an, das der Server sich an den vorrigen
>> Login erinnert?

Am einfachsten geht das über das "Session" Objekt, siehe 
https://docs.python-requests.org/en/latest/user/advanced/#session-objects

Ungefähr so:

url='http://xxx.xxx.xxx.xxx/api/1.0/datapoint/1'
with requests.Session() as sess:
   sess.auth = ...
   r = sess.get(url)

Die Methoden .get()/.post() usw. werden also nicht am Request-Objekt, 
sondern am Session-Objekt aufgerufen. Requests kümmert sich im 
Hintergrund um das Speichern der Auth-Cookies.

Freundliche Grüße,

Hardy


_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]