Dario Bertini wrote: > Riccardo, curioso che a te funzioni: leggi il mio messaggio, che > spiega il problema > > forse a te funziona perchè hai una versione diversa di openssl? > > puoi darci l'output di > python -c "import ssl; print(ssl.OPENSSL_VERSION)" > > e di > > curl -v 'https://www.u-gov.sssup.it' > > ? >
Certo, ecco qua: $ python -c "import ssl; print(ssl.OPENSSL_VERSION)" Traceback (most recent call last): File "<string>", line 1, in <module> AttributeError: 'module' object has no attribute 'OPENSSL_VERSION' Questo è un python 2.6.5: interessante :D Con un python 2.7 compilato da me: $ /opt/python-2.7.2/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)" OpenSSL 0.9.8k 25 Mar 2009 e funziona ancora il codice sopra mentre con un python 3.1 (sempre compilato da me, sullo stessa macchina degli altri due interpreti: >>> import urllib.request as urllib2 >>> x=urllib2.urlopen('https://www.u-gov.sssup.it') Traceback (most recent call last): File "/opt/python-3.1.1/lib/python3.2/urllib/request.py", line 1136, in do_open h.request(req.get_method(), req.selector, req.data, headers) File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 964, in request self._send_request(method, url, body, headers) File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 1002, in _send_request self.endheaders(body) File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 960, in endheaders self._send_output(message_body) File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 805, in _send_output self.send(msg) File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 743, in send self.connect() File "/opt/python-3.1.1/lib/python3.2/http/client.py", line 1105, in connect server_hostname=server_hostname) File "/opt/python-3.1.1/lib/python3.2/ssl.py", line 179, in wrap_socket _context=self) File "/opt/python-3.1.1/lib/python3.2/ssl.py", line 266, in __init__ raise x File "/opt/python-3.1.1/lib/python3.2/ssl.py", line 262, in __init__ self.do_handshake() File "/opt/python-3.1.1/lib/python3.2/ssl.py", line 441, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 1] _ssl.c:392: error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter e il curl: $ curl -v 'https://www.u-gov.sssup.it' * About to connect() to www.u-gov.sssup.it port 443 (#0) * Trying 193.205.80.7... connected * Connected to www.u-gov.sssup.it (193.205.80.7) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter * Closing connection #0 curl: (35) error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter -- Riccardo Lemmi _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python