Sfoglia il codice sorgente

[downloader/http] Improve timeout detection when reading block of data (refs #10935)

Sergey M․ 5 anni fa
parent
commit
cdc55e666f
1 ha cambiato i file con 5 aggiunte e 3 eliminazioni
  1. 5 3
      youtube_dl/downloader/http.py

+ 5 - 3
youtube_dl/downloader/http.py

@@ -238,9 +238,11 @@ class HttpFD(FileDownloader):
                 except socket.timeout as e:
                     retry(e)
                 except socket.error as e:
-                    if e.errno not in (errno.ECONNRESET, errno.ETIMEDOUT):
-                        raise
-                    retry(e)
+                    # SSLError on python 2 (inherits socket.error) may have
+                    # no errno set but this error message
+                    if e.errno in (errno.ECONNRESET, errno.ETIMEDOUT) or getattr(e, 'message') == 'The read operation timed out':
+                        retry(e)
+                    raise
 
                 byte_counter += len(data_block)