A função urlopen do Python gera um erro quando um site https é fornecido como entrada [duplicado]

0

Por favor, não marque a questão como duplicata. Eu passei por todas as possibilidades, mas não encontrei uma resposta. Eu uso o Ubuntu 12.04 (LTS)

A função urlopen do Python gera essa mensagem de erro quando um site https é fornecido como entrada:

Traceback (most recent call last):
  File "fb.py", line 13, in <module>
    htmlfile = urllib.urlopen(url)
  File "/usr/lib/python2.7/urllib.py", line 86, in urlopen
    return opener.open(url)
  File "/usr/lib/python2.7/urllib.py", line 207, in open
    return getattr(self, name)(url)
  File "/usr/lib/python2.7/urllib.py", line 436, in open_https
    h.endheaders(data)
  File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 776, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1161, in connect
    self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
  File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 143, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
    self._sslobj.do_handshake()
IOError: [Errno socket error] [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

Como corrijo isso?

    
por gowtham nanda 23.02.2014 / 15:17

1 resposta

0

Você não forneceu seu URL, por isso experimentei este site.

import sys
import urllib

print sys.version

2.7.5+ (padrão, 19 de setembro de 2013, 13:48:49)

[GCC 4.8.1]

print urllib.__version__

1,17

url = 'https://askubuntu.com'
res = urllib.urlopen(url)

print res.url

link

print res.headers
Cache-Control: public, max-age=60
Content-Type: text/html; charset=utf-8
Expires: Sun, 23 Feb 2014 15:01:28 GMT
Last-Modified: Sun, 23 Feb 2014 15:00:28 GMT
Vary: *
X-Frame-Options: SAMEORIGIN
Date: Sun, 23 Feb 2014 15:00:28 GMT
Connection: close
Content-Length: 70580

Pelo menos no Ubuntu 13.10 não consigo reproduzir o problema.

    
por Klaus-Dieter Warzecha 23.02.2014 / 16:12