Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Hardy Erlinger Newsgroups: de.comp.lang.python Subject: =?utf-8?q?=5BPython-de=5D_Re=3A_Webserver_auslesen?= Date: Fri, 15 Mar 2024 09:02:32 +0000 Lines: 40 Message-ID: <9920c910ae3b61290e5c3170cb04d18f@posteo.de> References: <8aaae97d-01b5-4500-a87f-bd8f60767d47@kemmann.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de +yWxpPwAOajgxZ1u2yha7AYqZ9FACYSy3ipNzSMO92Pw== Cancel-Lock: sha1:++ARw5rN7G1xcn4oxOvtkBOugt8= sha256:EeB1W6AkTRKJCUaQmGBl6SDGkjFeBrV2PYCdCuncCJ4= Authentication-Results: mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=posteo.de header.i=@posteo.de header.b=o4vYBstO; dkim-adsp=pass; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1710493353; bh=FIGt+uXqIrD+irEQpFGpX1LwkXKfMPaBYKFPTffyRdc=; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Date:From:To: Subject:Message-ID:From; b=o4vYBstOanxNTLVAWjDj3KcpSsstK9QmAHhAPBairhR3soCLQ4RKWOnwTA0IYVHTV qXQ/NLbTc2wG+LtdileCdFFs0/VfCOwEviQmFluWtaDIFDgZjHZi9PZuSwtSFAtrk7 anKzWLWlRPgwgqiLsm48zdsK0YIW+Atsow6agqZQMxoamFC6Oyf3EzrjgbBhNVxtYE P4kAG9H5h1bojTtsktkW1pPkxsLICFVLVLpoJoOwmdlHR6iIA72Ne5xtwh3SHmMFdL xcemZHO6/+m8gxtDrMoBO/xIZVYZcWrYFy0H5zo49K/C+Uu5Dx5PfYLYi/edxATCnx 4A+fdPq7WUJXw== In-Reply-To: <8aaae97d-01b5-4500-a87f-bd8f60767d47@kemmann.de> Message-ID-Hash: 2IGEHGFVQYQFUCAB6CBELXXXLDXOP4EC X-Message-ID-Hash: 2IGEHGFVQYQFUCAB6CBELXXXLDXOP4EC X-MailFrom: hardy.erlinger@posteo.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10b1 Precedence: list List-Id: Die Deutsche Python Mailingliste Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com de.comp.lang.python:6042 >> ich w=C3=BCrde gerne einen Webserver (Heizung) >> mit Python auslesen, bis jetzt mit HTTPDigestAuth so: >>=20 >> =C2=A0=C2=A0=C2=A0 url=3D'http://xxx.xxx.xxx.xxx/api/1.0/datapoint/1' >> =C2=A0=C2=A0=C2=A0 r =3D requests.get(url, auth=3DHTTPDigestAuth('user'= , 'passwort'),=20 >> verify=3DFalse,=C2=A0 stream=3DTrue) >> =C2=A0=C2=A0=C2=A0 inhalt =3D r.text >> Funktioniert. >>=20 >> Nun m=C3=B6chte ich ich aber die weiteren Punkte ohne =C3=BCbergabe der >> Benutzerdaten auslesen, quasi so: >>=20 >> =C2=A0=C2=A0=C2=A0 url=3D'http://xxx.xxx.xxx.xxx/api/1.0/datapoint/2' >> =C2=A0=C2=A0=C2=A0 r =3D requests.get(url, verify=3DFalse,=C2=A0 stream= =3DTrue) >> =C2=A0=C2=A0=C2=A0 inhalt =3D r.text >>=20 >> Wie stelle ich es an, das der Server sich an den vorrigen >> Login erinnert? Am einfachsten geht das =C3=BCber das "Session" Objekt, siehe=20 https://docs.python-requests.org/en/latest/user/advanced/#session-objects Ungef=C3=A4hr so: url=3D'http://xxx.xxx.xxx.xxx/api/1.0/datapoint/1' with requests.Session() as sess: sess.auth =3D ... r =3D sess.get(url) Die Methoden .get()/.post() usw. werden also nicht am Request-Objekt,=20 sondern am Session-Objekt aufgerufen. Requests k=C3=BCmmert sich im=20 Hintergrund um das Speichern der Auth-Cookies. Freundliche Gr=C3=BC=C3=9Fe, Hardy