On 2025-03-23 09:11, Ulli Horlacher <[email protected]> wrote:
> Ich hab das nun so probiert:
>
> sock = socket.create_connection((server,port))
> (...)
> SSLContext = ssl.create_default_context()
Du willst es den Lesern Deines Codes auch künstlich schwer machen, oder?
Eine Variable so zu nennen wie eine Klasse der Library, die man gerade
verwendet, ist ziemlich verwirrend.
> sock = SSLContext.wrap_socket(sock)
>
> Das ergibt leider die Fehlermeldung:
>
> File "/local/home/framstag/python/./fexit.py", line 906, in http_connect
> sock = SSLContext.wrap_socket(sock)
> File "/usr/lib/python3.10/ssl.py", line 513, in wrap_socket
> return self.sslsocket_class._create(
> File "/usr/lib/python3.10/ssl.py", line 1028, in _create
> raise ValueError("check_hostname requires server_hostname")
> ValueError: check_hostname requires server_hostname
Dann gib den Namen halt an. wrap_socket hat einen Parameter dafür:
https://docs.python.org/3/library/ssl.html#ssl.SSLContext.wrap_socket
> Dabei hattte ich doch den Server hostname angegeben bei Erzeugung von sock.
Ich glaube nicht, dass sich ein Socket merkt, welchen Hostnamen Du beim
connect angegeben hast. Nach dem DNS-Lookup braucht er den schließlich
nicht mehr.
#v+
>>> import socket
>>> s = socket.create_connection(("mail.hjp.at", 25))
>>> s
<socket.socket fd=3, family=2, type=1, proto=6, laddr=('212.17.106.130',
54278), raddr=('212.17.106.138', 25)>
#v-
hjp
_______________________________________________
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]