urlib IOError: [Ошибка сокета Errno] [Errno 54] Сброс соединения по пиру - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь запустить свой код Python, и он показывает следующее:

IOError: [Ошибка сокета Errno] [Errno 54] Сброс соединения по пиру

Вот мой код:

import urllib

def dl_jpg(url, file_path, file_name):
    full_path = file_path + file_name + '.jpg'
    urllib.urlretrieve(url, full_path)

url = 'https://xxxxx'
file_name = '1'

dl_jpg(url, 'image/', file_name)

Раньше он работал нормально, но сейчас не работает.Я не уверен в причине, единственное различие, о котором я могу думать, - я обновил свой macOS.Я новичок в кодировании и все еще очень запутался после того, как гуглил.Я думаю, есть некоторые проблемы в ССЛ.

Теперь у меня есть

macOS 10.14.3

LibreSSL 2.6.5

Python 2.7.10

Есть идеи?Большое вам спасибо!

Traceback (most recent call last):
  File "img3.py", line 10, in <module>
    dl_jpg(url, 'image3/', file_name)
  File "img3.py", line 5, in dl_jpg
    urllib.urlretrieve(url, full_path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 98, in urlretrieve
    return opener.retrieve(url, filename, reporthook, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 245, in retrieve
    fp = self.open(url, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 443, in open_https
    h.endheaders(data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1049, in endheaders
    self._send_output(message_body)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 893, in _send_output
    self.send(msg)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 855, in send
    self.connect()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1274, in connect
    server_hostname=server_hostname)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 352, in wrap_socket
    _context=self)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 579, in __init__
    self.do_handshake()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 808, in do_handshake
    self._sslobj.do_handshake()

1 Ответ

0 голосов
/ 26 июня 2019

К сожалению, это известная проблема с python 2.7.10, который поставляется с Mac OS. Если вы сможете обновить свою версию python и использовать ее для запуска вашего скрипта, вы обнаружите, что она снова заработает.

...