Requests: SSLError: EOF рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдореЗрдВ рд╣реБрдЖ (_ssl.c:590)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2016  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: psf/requests

рдХреГрдкрдпрд╛ рдореЗрд░реЗ рд╕рд╛рде рд░рд╣реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдФрд░ рдЬреАрдердм рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдирдпрд╛ рд╣реВрдВред

рдореИрдВ Play Store рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдХреНрд░реИрдк рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдз (рд▓рдЧрднрдЧ 20k) рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд▓рдЧрднрдЧ 3000-4000 рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдЕрдЯрдХ рдЬрд╛рддрд╛ рд╣реИ (рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐)ред рдореИрдВ рдПрд╕рдПрд╕рдПрд▓ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИред

рддреНрд░реБрдЯрд┐:

(SSLError                                  Traceback (most recent call last)
<ipython-input-23-1da544640d89> in <module>()
     53         time.sleep(0.1)
     54 
---> 55         r = requests.get('https://play.google.com' + link + '&hl=en')
     56         link_tree = html.fromstring(r.content)
     57         description = link_tree.xpath('//div[@jsname="C4s9Ed"]/text()') + link_tree.xpath('//div[@jsname="C4s9Ed"]/p/text()')

C:\Users\Nathan\AppData\Local\Enthought\Canopy\User\lib\site-packages\requests\api.pyc in get(url, params, **kwargs)
     65 
     66     kwargs.setdefault('allow_redirects', True)
---> 67     return request('get', url, params=params, **kwargs)
     68 
     69 

C:\Users\Nathan\AppData\Local\Enthought\Canopy\User\lib\site-packages\requests\api.pyc in request(method, url, **kwargs)
     51     # cases, and look like a memory leak in others.
     52     with sessions.Session() as session:
---> 53         return session.request(method=method, url=url, **kwargs)
     54 
     55 

C:\Users\Nathan\AppData\Local\Enthought\Canopy\User\lib\site-packages\requests\sessions.pyc in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    466         }
    467         send_kwargs.update(settings)
--> 468         resp = self.send(prep, **send_kwargs)
    469 
    470         return resp

C:\Users\Nathan\AppData\Local\Enthought\Canopy\User\lib\site-packages\requests\sessions.pyc in send(self, request, **kwargs)
    574 
    575         # Send the request
--> 576         r = adapter.send(request, **kwargs)
    577 
    578         # Total elapsed time of the request (approximately)

C:\Users\Nathan\AppData\Local\Enthought\Canopy\User\lib\site-packages\requests\adapters.pyc in send(self, request, stream, timeout, verify, cert, proxies)
    445         except (_SSLError, _HTTPError) as e:
    446             if isinstance(e, _SSLError):
--> 447                 raise SSLError(e, request=request)
    448             elif isinstance(e, ReadTimeoutError):
    449                 raise ReadTimeout(e, request=request)

SSLError: EOF occurred in violation of protocol (_ssl.c:590) )

The-efi, рдЗрд╕ github рдкрд░, рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: https://github.com/kennethreitz/requests/issues/3006 (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ, рд╡рд╣ рдУрдкреА рдирд╣реАрдВ рдерд╛) рд▓реЗрдХрд┐рди рдореИрдВ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛ рд░рд╣рд╛ рдерд╛ рдЖрдЧреЗ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреЛ рдзрд╛рдЧрд╛ рдЦреЛрд▓рд╛ред рдореИрдВ рдкрд╛рдпрдерди 2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рднреАред

рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рди рд╣реА рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ (рдЬрд╡рд╛рдм рд╢рд╛рдпрдж рдореЗрд░реА рдирд╛рдХ рдХреЗ рдиреАрдЪреЗ рдерд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрд╕рдПрд╕рдПрд▓ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ рд╣реИ) .

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдЕрдЧрд░ рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ -- рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЗрд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдерд╛, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ndg-httpsclient рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдерд╛

https://github.com/kennethreitz/requests/issues/3605

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрдм рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдлрдВрд╕ рдЧрдП рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдкрд╡рд╛рдж рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рдЕрдиреБрд╡рд░реНрддреА рдЕрдиреБрд░реЛрдз рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╖рдгрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ _do_ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реЗрдм рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕рд╛рдордиреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдкрд╡рд╛рдж рдЖрдЧред рдЕрдиреБрд╡рд░реНрддреА рдЕрдиреБрд░реЛрдз рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдбрд░ рдерд╛ рдХрд┐ рдореИрдВ рд╕рд░реНрд╡рд░ рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реЛ рд░рд╣рд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк requests.* рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЕрдкрдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХ рдЬреЛрдЦрд┐рдо рдореЗрдВ рд╣реИрдВред рдЖрдкрдХреЛ рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП:

рдореИрдВрдиреЗ рдЗрд╕реЗ @Lukasa рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ:

import requests
sess = requests.Session()
adapter = requests.adapters.HTTPAdapter(max_retries = 20)
sess.mount('http://', adapter)

рдлрд┐рд░, рдЬрд╣рд╛рдВ рдореИрдВ рдкрд╣рд▓реЗ requests.get() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ sess.get() ред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ рд▓реБрдХрд╛рд╕рд╛ !

рдореЗрд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдерд╛, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ndg-httpsclient рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдерд╛

https://github.com/kennethreitz/requests/issues/3605

@variable рдореИрдВрдиреЗ ndg-httpsclient рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд╡рд╣реА рддреНрд░реБрдЯрд┐: urllib.error.URLError :

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

avinassh picture avinassh  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

justlurking picture justlurking  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

NoahCardoza picture NoahCardoza  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tiran picture tiran  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thadeusb picture thadeusb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ