#1083 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рд╢рд╛рдпрджред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдЗрдЯ/рдкреЗрдЬ https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html
$ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ requests.get()
#$ рдкрд░рд┐рдгрд╛рдо:
>>> import requests
>>> requests.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
рд╡рд┐рднрд┐рдиреНрди рдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП request-toolbelt
рдХреЗ SSLAdapter
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╡реЗ рд╕рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ... рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреНрд░реЗрд╕рдмреИрдХ рджреЗрдЦреЗрдВред
рдЯреАрдПрд▓рдПрд╕рд╡реА1:
>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
рдПрд╕рдПрд╕рдПрд▓рд╡реА3:
>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
рдПрд╕рдПрд╕рдПрд▓рд╡реА2:
>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдЦрд┐рд░реА рд╡рд╛рд▓рд╛ Connection reset by peer
рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рджреВрд╕рд░реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ SSLv2 рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рднреА рдХреБрдЫ рдФрд░ рдЙрдкрдпреБрдХреНрдд рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:
>>> headers = {
... 'Accept': u"text/html,application/xhtml+xml,application/xml",
... 'User-Agent': u"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
... 'Accept-Encoding': u"gzip,deflate",
... 'Accept-Language': u"en-US,en;q=0.8"
... }
>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html', headers=headers)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)
рд╡рд╣рд╛рдБ рднреА рдХреЛрдИ рдкрд╛рд╕рд╛ рдирд╣реАрдВред Mac рдкрд░ Chrome рдореЗрдВ HTTPS рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
рдореИрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЧреБрдЧрд▓рд┐рдВрдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд┐рдлрд░ рд╕реВрдЪреА рдореБрджреНрджрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ urllib3 рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?
рдореИрдВрдиреЗ DEFAULT_CIPHER_LIST
рдХреЛ pyopenssl
рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдЪрд▓рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЪреАрдЬреЗрдВ рдЕрднреА рдЯреВрдЯ рдЧрдИ рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ред
рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА:
рдУрдПрд╕ рдПрдХреНрд╕ рдорд╛рд╡реЗрд░рд┐рдХреНрд╕
рдкрд╛рдпрдерди 2.7.5
рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 0.9.8y 5 рдлрд░рд╡рд░реА 2013 - ( python -c "import ssl; print ssl.OPENSSL_VERSION"
рд╕реЗ)
рдЕрдиреБрд░реЛрдз 2.2.1
рдЕрдиреБрд░реЛрдз-рдЯреВрд▓рдмреЗрд▓реНрдЯ 0.2.0
urllib3 1.8
рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдореБрджреНрджреЗ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрджреНрджреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдХрд┐ рдУрдПрд╕ рдПрдХреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 0.9.8y рдореЗрдВ SSL рд╣реИрдВрдбрд╢реЗрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдУрдПрд╕ рдПрдХреНрд╕ рдмреЙрдХреНрд╕ рдкрд░ рдкрд╛рдпрдерди 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдЗрд╕рд▓рд┐рдП рдПрдХ рдирдП рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛) рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL
рдЪрд▓рд╛рдХрд░ рдЙрд╕ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╡рд┐рд░реБрджреНрдз PyOpenSSL рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВредрдЖрд╣, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рддрдм рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рдерд╛ - рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдХреБрдЫ рднреА рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рд▓реЗ рдЬрд╛рдКрдВрдЧрд╛ред рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓реЗ рдЖ рд░рд╣реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ!
рдорд╛рдлреА рдорд╛рдВрдЧрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛ рд╕рд╣реА рдХрд╛рдо рдерд╛: рдпрд╣ рдЬрд╛рдирдирд╛ рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬреНрдЮрд╛рди рд╣реИ рдХрд┐ рдУрдПрд╕ рдПрдХреНрд╕ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред =)
рдареАрдХ рд╣реИ, рдпрд╣ рдПрдХ рдмрдорд░ рд╣реИред рдореИрдВрдиреЗ рд╡реИрдЧреНрд░рд╛рдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЙрдмрдВрдЯреВ 14.04 рд╕рд░реНрд╡рд░ 32 рдмрд┐рдЯ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдЫрд╡рд┐ рдмрдирд╛рдИ рдФрд░ рдпрд╣ рд╕рдм рдЕрднреА рднреА рдПрд╕рдПрд╕рдПрд▓рд╡реА 2 рдорд╛рдорд▓реЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЙрдмрдВрдЯреВ 14.04 рдореЗрдВ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ (рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ - рдПрд╕рдПрд╕рдПрд▓рд╡реА 2 рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдирд╛)ред
рд╕рдВрд╕реНрдХрд░рдг:
рдЙрдмрдВрдЯреВ 14.04 32 рдмрд┐рдЯ (рд╡реИрдЧреНрд░рд╛рдВрдЯ/рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдХреЙрдореНрдмреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
рдкрд╛рдпрдерди 2.7.6
рдЕрдиреБрд░реЛрдз == 2.2.1
рдЕрдиреБрд░реЛрдз-рдЯреВрд▓рдмреЗрд▓реНрдЯ==0.2.0
urllib3==1.8.2
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рднреВрд▓ рдЧрдП ...
рдЕрдЬрдЧрд░-рд╕реА "рдЖрдпрд╛рдд рдПрд╕рдПрд╕рдПрд▓; рдкреНрд░рд┐рдВрдЯ ssl.OPENSSL_VERSION"
рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.1f 6 рдЬрдирд╡рд░реА 2014
рдЯреАрдПрд▓рдПрд╕рд╡реА1:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
рдПрд╕рдПрд╕рдПрд▓рд╡реА2:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
рдПрд╕рдПрд╕рдПрд▓рд╡реА23:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv23')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рд╕рд┐рдлрд░ рд╕реВрдЪреА рдореБрджреНрджрд╛ рд╣реИ? рдпрд╛ рдпрд╣рд╛рдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ?
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдореИрдВ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рддреИрдпрд╛рд░ рд╣реВрдВ ... рдмрд╢рд░реНрддреЗ рдЖрдк рд▓реЛрдЧ рдореБрдЭреЗ рдХреБрдЫ рджрд┐рд╢рд╛ рджреЗрдВред
рд╡реАрдПрдо рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ ArchLinux рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдЖрдк _not_ PyOpenSSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ stdlib?
@ t-8ch рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдБред рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИ =(
@ t-8ch рдореИрдВрдиреЗ PyOpenSSL рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдпрд╣реА рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рдорд╛рдирд╛ рд╣реЛрдЧрд╛ (рд╢рд╛рдпрдж рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ) рдХрд┐ pip install requests
рдореБрдЭреЗ рдПрдХ HTTPS рдкреГрд╖реНрда рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ requests.get('...')
рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
@jaddison рдпрд╣ _рдЕрдзрд┐рдХрддрд░_ рдХрд░рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, Python 2.7s рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрдард┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ SNI рдЬреИрд╕реА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрд╕рдПрдирдЖрдИ рд╣реИ ...
@jaddison рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрдбрдкрде рд╣реИрдВред рдЖрдкрдХреЛ рдЙрдирдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрдм рдореИрдВ рдЗрд╕реЗ ubuntu рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдУ Py2. Py3 рдкрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ @ рд▓реБрдХрд╛рд╕рд╛ рд╕рд╣реА рд╣реИ рдФрд░ рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдПрд╕рдПрдирдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рд╕рд░реНрд╡рд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢реНрди рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрд╕рдПрдирдЖрдИ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдореИрдВрдиреЗ OpenSSL 1.0.1f рдФрд░ 1.0.1g (https://www.openssl.org/news/openssl-1.0.1-notes.html) рдХреЗ рдмреАрдЪ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЛ рджреЗрдЦрд╛:
Add TLS padding extension workaround for broken servers.
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрд╣, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ - рдмрдЧ рдкреАрдИ 2 рдФрд░ 3 рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред
@jaddison рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрд╕рдПрдирдЖрдИ рд╣реИ, рдЖрдкрдХреЛ рдкрд╛рдпрдерди 2 рдХреЗ рд▓рд┐рдП рдПрд╕рдПрдирдЖрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
@ рд▓реБрдХрд╛рд╕рд╛ рд╕рд╣реА рдерд╛ред рддреБрд▓рдирд╛ рдХрд░рдирд╛:
$ openssl s_client -connect docs.apitools.com:443
CONNECTED(00000003)
139846853338768:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:762:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 517 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
$ openssl s_client -connect docs.apitools.com:443 -servername docs.apitools.com
... happy handshake here
рд╡рд┐рд╕реНрддреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рджреВрд╕рд░рд╛ рдЖрджреЗрд╢ openssl s_client
рдХреА рдПрд╕рдПрдирдЖрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред
рдЖрдк a) python3 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ b) рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
stdlib рдХреЗ рдкрд╛рд╕ рдлрд┐рд▓рд╣рд╛рд▓ SNI рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛...
рдЕрд░реЗ, рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ !! рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореИрдХ рдФрд░ рдмреВрдо рдкрд░ рдкрд╛рдпрдерди 3 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмрд╕ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдУрдПрд╕ рдПрдХреНрд╕ 10.9.5, рдкрд╛рдпрдерди 2.7.7 рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 0.9.8zc рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред
рдореИрдВ рдЕрдкрдиреЗ рд╣рд╛рде рдорд┐рд▓рд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
brew install OpenSSL
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЗрд░реА рдорд╢реАрди рдкрд░ рд╕реНрдЯреЙрдХ рд╕реЗ рдирдпрд╛ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
) рд╕реЗ рдЬреБрдбрд╝реЗ cryptography
рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛pip install requests[security]
. рдХрд░рдХреЗ рдПрд╕рдПрдирдЖрдИ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛рдзрдиреНрдпрд╡рд╛рдж, @Microserfред рдореИрдВ рдХрд╛рдлреА рд╣рдж рддрдХ рд╡рд╣реА рдЪрд╢реНрдорд╛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ (10.9.5, рдкрд╛рдпрдерди 2.7.6 рд╣реЛрдордмреНрд░реВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 0.9.8zg) рдФрд░ рдпрд╣ рдореЗрд░реА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ requests
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ Django рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдереА :
brew install openssl
requests
SNI рд╕рд╛рдордЧреНрд░реА рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ OpenSSL рдХреА рдирдИ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕рдВрдХрд▓рд┐рдд рд╣реИред [security]
рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ pyopenssl ndg-httpsclient pyasn1
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install requests[security] urllib3
рдФрд░ рд╣рдо рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╣реИрдВ:
"""
This may or may not be needed. See:
https://urllib3.readthedocs.org/en/latest/security.html#openssl-pyopenssl
"""
# from urllib3.contrib import pyopenssl
# pyopenssl.inject_into_urllib3()
import requests
# r = requests.get(...)
рдХреНрдпрд╛ рдЙрдмрдВрдЯреВ рдкрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рдЬрд╡рд╛рдм рд╣реИ? рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХрдорд╛рддреНрд░ рдЬрд╡рд╛рдм рдореИрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рдорд╛рд░реЗ рдкреВрд░реЗ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдкрд╛рдпрдерди 3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рдареАрдХ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рд╣реЛред рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдЙрдмрд▓рддрд╛ рд╣реИ:
sudo apt-get install libffi-dev
pip install pyOpenSSL ndg-httpsclient pyasn1
@lsemel рдзрдиреНрдпрд╡рд╛рдж, рдХрд┐ рдмрд╕ рдореБрдЭреЗ рд╕рдордп рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдЪрд╛рдпрд╛
@lsemel рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ? рдореИрдВрдиреЗ рдЗрд╕реЗ Ubuntu 15.10 рдкрд░ рдЖрдЬрд╝рдорд╛рдпрд╛ рдФрд░ рдпрд╣ рдЕрднреА рднреА Python 2.7.10 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдкрд░ рдкрд╛рдпрдерди 2.7 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
https://travis-ci.org/playing-se/swish-python
рдЕрдм рдХрд╛рдо рдкрд░ рд▓рдЧ рдЧрдпрд╛! рдореИрдВрдиреЗ рдмрд╕ pyOpenSSL рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ:
pip uninstall pyOpenSSL
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ pyopenssl.inject_into_urllib3() рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 2.7.9 рд╕реЗ рдХрдо рд╣реИ? pyOpenSSL рдЙрдмрдВрдЯреВ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд╕рд╛рдорд╛рди рддреЛрдбрд╝рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 2.7.10 рд╣реИред
PyOpenSSL рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ pyopenssl рдХреЛ urllib3 рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдпрджрд┐ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 2.7.9 рдпрд╛ рдирдпрд╛ рд╣реИ?
рдореИрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ:
# Check if Modern SSL with SNI support
try:
from ssl import SSLContext
from ssl import HAS_SNI
except ImportError:
# Attempt to enable urllib3's SNI support, if possible
try:
from .packages.urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
except ImportError:
pass
рд╣рд╛рдБ, рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рдпрдерди рд╕рд┐рд╕реНрдЯрдо рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 0.9.8zg рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, PyOpenSSL рдПрдХ рдмрд╣реБрдд рдирдП OpenSSL (1.0.2) рд╕реЗ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред рдпрд╣ PyOpenSSL рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, PyOpenSSL рд╣рдореЗрдВ OpenSSL рддрдХ рдмреЗрд╣рддрд░ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рдЦреЗрд▓рд╛ рд╣реИред
рдпрд╣ pyopenssl рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ ndg-httpsclient рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рддреЛ рдирд╣реАрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЗрд╕реЗ ndg-httpsclient рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рд╡рд╛ рд╕рдХрддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдореИрдВ pyasn1 рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдХреЗ рдореБрдЭреЗ рдпреЗ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рджреЗрддрд╛ рд╣реВрдБ:
/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled. Import error is: No module named pyasn1.type
warnings.warn(import_error_msg)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/ssl_peer_verification.py:25: UserWarning: SubjectAltName support is disabled - check pyasn1 package installation to enable
warnings.warn(SUBJ_ALT_NAME_SUPPORT_MSG)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled. Import error is: No module named pyasn1.type
warnings.warn(import_error_msg)
рдЙрдмрдВрдЯреВ 15.10 рдФрд░ рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд╛рдпрдерди 2.7.10 рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рддред
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ndg-httpsclient рдХреЗ рдмрд┐рдирд╛ PyOpenSSL рд╕рдорд░реНрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рдВ, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдЧрд░ рд╕рдмреНрдЬреЗрдХреНрдЯрдЕрд▓реНрдЯрдирд╛рдо рдЕрдХреНрд╖рдо рд╣реИ рддреЛ рдпрд╣ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдЙрдкрд╛рдп?
рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдореЗрд░реЗ рдЙрдмрдВрдЯреВ 14.04 рдмреЙрдХреНрд╕ рдФрд░ рдкрд╛рдпрдерди 2.7.11 рдкрд░ рдореЗрд░рд╛ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛
рдпрд╣ SNI . рд╕реЗ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдпрд╣ рдерд╛:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ urllib3 рдпрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди-рдЯрд╛рдЗрдо рдЪреЗрдХ рдерд╛ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рдерд╛
@jvanasco рдЖрдк рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдкрд┐рдк рдорд╛рдирддрд╛ рд╣реВрдБред рдЖрдк urllib3 рдФрд░ рдЕрдиреБрд░реЛрдз рдЕрд▓рдЧ рд╕реЗ рдХреНрдпреЛрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рд╡реИрд╕реЗ рдореБрдЭреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ urllib3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╛рдЗрдк рдФрд░ easy_install рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред (рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛)
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рдЗрдВрдбреЗрдХреНрд╕рд░ рд╣реИ рдФрд░ рдХреБрдЫ рдпреВрдЖрд░рдПрд▓ рдЯреВрдЯ рдЧрдП рд╣реИрдВред рдореИрдВрдиреЗ рдЯреВрдЯреЗ рд╣реБрдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА, рдФрд░ рдЬрдм рддрдХ рд╡реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рддрдм рддрдХ рдПрд╕рдПрд╕рдПрд▓ рдореБрджреНрджреЛрдВ рдкрд░ urllib3 рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рд╕рдВрдХреБрд▓ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд/рд╣рдЯрд╛рдПрдВ + рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд░рд╣реЗред
31 рдордИ 2016 рдХреЛ рд╢рд╛рдо 7:25 рдмрдЬреЗ, рдЗрдпрд╛рди рдХреЙрд░реНрдбрд╛рд╕реНрдХреЛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:
@jvanasco рдЖрдк рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдкрд┐рдк рдорд╛рдирддрд╛ рд╣реВрдБред рдЖрдк urllib3 рдФрд░ рдЕрдиреБрд░реЛрдз рдЕрд▓рдЧ рд╕реЗ рдХреНрдпреЛрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВредя┐╝
рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВрдиреЗ рд╕реБрдЭрд╛рдП рдЧрдП рдХрд╛рдордХрд╛рдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 2.7.11 . рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛
рдореИрдВрдиреЗ 3 рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдПред
рдореИрдВрдиреЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓/рдЗрдВрд╕реНрдЯреЙрд▓ рдЕрдиреБрдХреНрд░рдо рдХреА рдХреЛрд╢рд┐рд╢ рдХреА @jvanasco рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдФрд░ рдЕрднреА рднреА SSLError рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдмрдВрдЯреВ 14.04 рдХрд╛ рдЙрдкрдпреЛрдЧ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреЛрдИ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред
рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрджрдо рдЙрдард╛рдпрд╛ рд╣реЛрдЧрд╛?
рдзрдиреНрдпрд╡рд╛рдж
@Lekinho рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдбреЛрдореЗрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЫреЛрдЯреА рдЯреЗрд╕реНрдЯ-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рдереАрдВред
рдпрд╣ рдмрд╕ рдЧрдпрд╛ рдерд╛:
import requests
r = requests.get(bad_url)
print r.__dict__
@Lekinho рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ pyopenssl рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
try:
from requests.packages.urllib3.contrib import pyopenssl
pyopenssl.extract_from_urllib3()
except ImportError:
pass
@Lekinho рдпрджрд┐ рдЖрдк рдЕрднреА рднреА Python 2.7.11 рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА TLS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╕рд░реНрд╡рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдпреВрдЖрд░рдПрд▓ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ pyopenssl рдЖрдпрд╛рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдЯреАрдХ рд╡рд┐рд╡рд░рдг рд╣реИред
рдореВрд▓ рд░реВрдк рд╕реЗ, рд╣рдо рдПрдХ рд░реЗрдбрд╣реИрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдерд╛ рдЬрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛: Opensl-1.0.1e-42.el6_7.4.x86_64
рдлрд┐рд░ рд╣рдордиреЗ рд░реЗрдбрд╣реИрдЯ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдУрдкрдирдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрдбреЗрдЯ рдерд╛: рдУрдкрдирдПрд╕рдПрд▓-1.0.1e-48.el6_8.1.x86_64
ubuntu 14.04 рдкрд░ Opensl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдореЗрд╢рд╛ рдЦрд░рд╛рдм рд╣реИрдВрдбрд╢реЗрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред
рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдпреВрдЖрд░рдПрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА рд╣реИ рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдЕрдиреВрдард╛ рд╕рдВрдпреЛрдЬрди рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдЬрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд░рдИрдПрд╕рдЯреА рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╡рд╣реА рдорд╢реАрди рдареАрдХ рд╣реЛрддреА рд╣реИ (рдпрд╛рдиреА рдЙрдмрдВрдЯреВ рдУрдкрдирд╕реЗрд▓ рдХреЗ рдмрд┐рдирд╛)
рдзрдиреНрдпрд╡рд╛рдж
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ rpm -q --changelog openssl
рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
[ admin@leke-2-2-8-11 ~]$ rpm -q --changelog opensl
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @Lekinho рдиреЗ рдЕрдкрдирд╛ рдЬреАрдердм рдЕрдХрд╛рдЙрдВрдЯ рдбрд┐рд▓реАрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ? рдЕрдЧрд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ - рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдпрд╛ рдкрд╛рдпрдерди рдХреЗ рдЙрдирдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдиреЗ рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рд╕реА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддреЛрдбрд╝ рджреАред рдЬрдм рднреА рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдкрдЧреНрд░реЗрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдпрд╛ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВред
@jvanasco рдореИрдВ рдЕрднреА рднреА рдпрд╣рд╛рдБ рд╣реВрдБред
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдпреВрдЖрд░рдПрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдХрд┐рдП рдЧрдП рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЦрд░рд╛рдм рдирд╣реАрдВ рдХрд┐рдпрд╛)
@рд▓реБрдХрд╛рд╕рд╛
рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмреАрдЪ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рдмрд╕реЗрдЯ: +1:
рд╕реЛрдо рдордИ 02 2016 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-48.1
CVE-2016-2105 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - рдмреЗрд╕ 64 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣
CVE-2016-2106 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - EVP_EncryptUpdate () рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣
CVE-2016-2107 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - рд╕рд┐рд▓реЗ рд╣реБрдП AES-NI CBC-MAC . рдореЗрдВ рдкреИрдбрд┐рдВрдЧ рдСрд░реИрдХрд▓
CVE-2016-2108 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - ASN.1 рдПрдиреНрдХреЛрдбрд░ рдореЗрдВ рд╕реНрдореГрддрд┐ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░
CVE-2016-2109 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - BIO рд╕реЗ ASN.1 рдбреЗрдЯрд╛ рдкрдврд╝рддреЗ рд╕рдордп рд╕рдВрднрд╡ DoS
CVE-2016-0799 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - BIO_printf рдореЗрдВ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛рдПрдБ
Wed рдлрд╝рд░рд╡рд░реА 24 2016 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-48
CVE-2016-0702 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - рдореЙрдбреНрдпреВрд▓рд░ рдШрд╛рддрд╛рдВрдХ рдкрд░ рд╕рд╛рдЗрдб рдЪреИрдирд▓ рд╣рдорд▓рд╛
рд╕реАрд╡реАрдИ-2016-0705 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - рдбреАрдПрд╕рдП рдирд┐рдЬреА рдХреБрдВрдЬреА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдореЗрдВ рдбрдмрд▓-рдлреНрд░реА
CVE-2016-0797 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - BN_hex2bn рдФрд░ BN_dec2bn рдореЗрдВ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рдвреЗрд░
рдордВрдЧрд▓ рдлрд╝рд░рд╡рд░реА 16 2016 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-47
CVE-2015-3197 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - SSLv2 рд╕рд┐рдлрд░рд╕реБрдЗрдЯ рдкреНрд░рд╡рд░реНрддрди
SSLv2 рдХреЛ рд╕рд╛рдорд╛рдиреНрдп TLS рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
рд╢реБрдХреНрд░ рдЬрдирд╡рд░реА 15 2016 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-46
pkcs12 рдкрд╛рд░реНрд╕ рдореЗрдВ 1-рдмрд╛рдЗрдЯ рдореЗрдореЛрд░реА рд▓реАрдХ рдареАрдХ рдХрд░реЗрдВ (#1229871)
рд╕реНрдкреАрдб рдХрдорд╛рдВрдб рдХреЗ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░реЗрдВ (#1197095)
рдЧреБрд░реБ рдЬрдирд╡рд░реА 14 2016 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-45
рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдкрд┐рдВрдЧ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдореЗрдВ рдЙрдЪреНрдЪ-рд╕рдЯреАрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдареАрдХ рдХрд░реЗрдВ
Mon Dec 21 2015 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-44
CVE-2015-7575 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - TLS1.2 рдореЗрдВ MD5 рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рди рджреЗрдВ
рд╢реБрдХреНрд░ рджрд┐рд╕рдВрдмрд░ 04 2015 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-43
CVE-2015-3194 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЧреБрдо PSS рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ
CVE-2015-3195 - X509_ATTRIBUTE рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЛ рдареАрдХ рдХрд░реЗрдВ
CVE-2015-3196 рдХреЛ рдареАрдХ рдХрд░реЗрдВ - PSK рдкрд╣рдЪрд╛рди рд╕рдВрдХреЗрдд рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╕рдордп рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐
рдордВрдЧрд▓ рдЬреВрди 23 2015 рдЯреЙрдорд╕ рдорд░рд╛рдЬрд╝ [email protected] 1.0.1e-42
рдЕрджреНрдпрддрди :
рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдордХрд╛рдЬ рдорд┐рд▓рд╛ред
рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрд╕рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдИрд╕реАрд╕реА/рдИрд╕реАрдбреАрдПрдЪ рд╕рд┐рдлрд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдПрдЪрдИрдПрд▓ рдУрдкрдирдПрд╕рдПрд▓ рд╕рдорд░реНрдерди рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ 100% рдирд╣реАрдВ рд╣реИред
рд╣рдордиреЗ рдИрд╕реАрдбреАрдПрдЪ рд╕рд┐рдлрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдХреЗ рдпреВрдЖрд░рдПрд▓ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреА рдХреЛрд╢рд┐рд╢ рдХреА (рдЦреБрдж рдУрдкрдирдПрд╕рдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдирдХрд╛рд░ рдЬреЛрдбрд╝рдХрд░ рдпрд╛рдиреА рдУрдкрдирдПрд╕рдПрд▓ рдПрд╕_рдХреНрд▓рд╛рдЗрдВрдЯ -рдХрдиреЗрдХреНрдЯ 10.85.103.218: 8443 -рд╕рд┐рдлрд░ 'рдбрд┐рдлреЙрд▓реНрдЯ:!рдИрд╕реАрдбреАрдПрдЪ')
рд╣рдо рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред
рдпрд╣рд╛рдБ ubuntu 14.04 рдкрд░ рдУрдкрдирд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдлрд░ рд╕реВрдЪреА рд╣реИ
рдИрд╕реАрдбреАрдПрдЪ + рдПрдИрдПрд╕рдЬреАрд╕реАрдПрдо: рдбреАрдПрдЪ + рдПрдИрдПрд╕рдЬреАрд╕реАрдПрдо : рдИрд╕реАрдбреАрдПрдЪ + рдПрдИрдПрд╕ 256: рдбреАрдПрдЪ + рдПрдИрдПрд╕ 256: рдИрд╕реАрдбреАрдПрдЪ + рдПрдИрдПрд╕ 128: рдбреАрдПрдЪ + рдПрдИрдПрд╕: рдИрд╕реАрдбреАрдПрдЪ + рд╣рд╛рдИ : рдбреАрдПрдЪ + рд╣рд╛рдИ: рдИрд╕реАрдбреАрдПрдЪ + 3 рдбреАрдИрдПрд╕: рдбреАрдПрдЪ + 3 рдбреЗрд╕: рдЖрд░рдПрд╕рдП + рдПрдИрдПрд╕рдЬреАрд╕реАрдПрдо : рдЖрд░рдПрд╕рдП + рдПрдИрдПрд╕: рдЖрд░рдПрд╕рдП + рд╣рд╛рдИ : рдЖрд░рдПрд╕рдП +3рдбреАрдИрдПрд╕:!рдПрдХ рдирд▓:!рдИрдирд▓:!рдПрдордбреА5
рддреЛ рдЙрд╕ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрд╕рдПрд╕рдПрд▓ рд╕рд┐рдлрд░ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pyopenssl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдИрд╕реАрдбреАрдПрдЪ рд╕рд┐рдлрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдЕрдиреБрд░реЛрдз рдкреИрдХреЗрдЬ рд╕реЗ urllib3 рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдореЗрдВ рдпрд╣ рдЕрдзрд┐рдХрд╛рд░ рдерд╛ (рдпрд╛рдиреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ) рдпрд╣рд╛рдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рд╣реИ:
https://github.com/kennethreitz/requests/issues/1308
рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╣рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддрд╛ рд╣реИред
рдХреНрдпреЛрдВ рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдлрд░ рдЖрд░рдПрдЪрдИрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред
рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рд╣реЛрдЧрд╛ рдХрд┐ рдЖрд░рдПрдЪрдИрдПрд▓ рдореЗрдВ рдХреМрди рд╕реЗ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕реЗ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдорддреМрд░ рдкрд░ рд╕рд┐рдлрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдФрд░ рдЬрд╛рдирддрд╛ рд╣реИ?
рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ... рдПрдЖрд░рдЬреА...
@ рд▓реБрдХрд╛рд╕-рдЧрд┐рдЯрд▓ рдирд┐рд░рд╛рд╢рд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧреАред рд╣рдореЗрдВ рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ (рдЕрдзрд┐рдорд╛рдирддрдГ рдХреБрдЫ - рдпрджрд┐ рд╕рднреА рдирд╣реАрдВ - рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рд╣рдордиреЗ рдКрдкрд░ рд▓реЗрдХрд┐рдиреНрд╣реЛ рд╕реЗ рдкреВрдЫреА рдереА) рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреАред
@sigmavirus24 рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореЗрд░рд╛ рдорддрд▓рдм рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рдерд╛)ред рдореИрдВ Ubuntu 14.04, рдЕрдЬрдЧрд░ 2.7.6 рдФрд░ рдкрд╛рдЗрдк рдкрд░ рдирд╡реАрдирддрдо рдЕрдиреБрд░реЛрдз рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рдПрдкреАрдЖрдИ рдЧреЗрдЯрд╡реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ (рд╡реЗ рдХрд╛рдлреА рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдореИрдВрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдкрдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдЙрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рдиреЛрдбрдЬ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
@ lukas-gitl рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдк рд╕рдВрдкрд░реНрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдЯреАрдПрд▓рдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдЖрдк рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ pip install requests[security]
рдЪрд▓рд╛рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЖрдкрдХреЛ рдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд╕рдХрддреА рд╣реИрдВред
рд╣рд╛рдБ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рдореБрдЭреЗ рдпрд╣рд╛рдВ рдПрдХ рд╕рд╛рде рдПрдХ рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦрдиреЗ рджреЗрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рд╣реЛрдВред
рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ -p /usr/bin/python2.7 env
рд╕реНрд░реЛрдд env/bin/active
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд░реЛрдз
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд░реЛрдз [рд╕реБрд░рдХреНрд╖рд╛]
рдЗрдХреЛ 'рдЖрдпрд╛рдд рдЕрдиреБрд░реЛрдз' >> test.py
рдЗрдХреЛ 'requests.get("https://API_ID.execute-api.us-west-2.amazonaws.com/ENV/ENPOINT")' >> test.py
рдЕрдЬрдЧрд░ test.py
рдФрд░ рдЖрдк рдХреМрди рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?
.../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:318:
SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
SNIMissingWarning
.../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Traceback (most recent call last):
File "test.py", line 2, in <module>
requests.get("https://sbsz8eqowe.execute-api.us-west-2.amazonaws.com/dev/segment_to_s3_webhook")
File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure```
рддреЛ рдореБрдЭреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдЬрдЧрд░ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдареАрдХ рд╣реИ, рдЙрди рджреЛрдиреЛрдВ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдз [рд╕реБрд░рдХреНрд╖рд╛] рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рднреА рдкрд╛рдпрдерди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ _not_ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдз [рд╕реБрд░рдХреНрд╖рд╛] рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
@ рд▓реБрдХрд╛рд╕-рдЧрд┐рдЯрд▓ рдХреГрдкрдпрд╛ рдКрдкрд░ рдореЗрд░реЗ рдиреЛрдЯреНрд╕ рджреЗрдЦреЗрдВред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ? рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдлрд░ рд╕реВрдЪреА рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред
рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ 1 рджреВрд╕рд░реЗ рдореЗрдВ рд╕рд┐рдлрд░ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддреНрд░реБрдЯрд┐ред
рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдлрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:
рдЖрдпрд╛рдд рдкреНрд░рдгрд╛рд▓реА
рдЖрдпрд╛рдд рдУрдПрд╕
рдЖрдпрд╛рдд рдПрд╕рдПрд╕рдПрд▓
рдкреНрд░рд┐рдВрдЯ (ssl.OPENSSL_VERSION)
sys.path.insert(1, os.path.abspath(os.path.join(os.getcwd(), 'lib')))
sys.path.append('/usr/local/lib/python2.7/dist-packages')
рдЖрдпрд╛рдд рдЕрдиреБрд░реЛрдз
request.packages.urllib3.contrib рд╕реЗ рдЖрдпрд╛рдд pyopenssl
pyopenssl.inject_into_urllib3 ()
рдкреНрд░рд┐рдВрдЯ pyopenssl.DEFAULT_SSL_CIPHER_LIST
рдареАрдХ рд╣реИ, рдЕрдм рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБред рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЖ рд░рд╣реЗ рд╣реИрдВред рддреЛ рдЬрдм рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдЕрдЬрдЧрд░ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╡реЗ рд╡рд╣рд╛рдВ рд╕реЗ рдХреИрд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ?
рддреЛ рдореИрдВрдиреЗ pip install requests[security] рдХреЗ рдмрдЬрд╛рдп pip install requests[security]
pip install pyopenssl ndg-httpsclient pyasn1
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ ...
рдЖрд╣, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд╛рдЗрдк рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИред
рдЖрд╣, рд▓рд╛рдирдд рд╣реИред рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдорджрдж рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!
рдореБрдЭреЗ рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдореБрдЭреЗ рдХреЛрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдПрдХ рдЬреАрдИрдЯреА рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдерд╛:
requests.get('https://mdskip.taobao.com/core/initItemDetail.htm?itemId=530444505608&showShopProm=false&queryMemberRight=true&isRegionLevel=false&tmallBuySupport=true&addressLevel=2&sellerPreview=false&isForbidBuyItem=false&cachedTimestamp=1466835924196&offlineShop=false&household=false&tryBeforeBuy=false&isSecKill=false&service3C=false&isApparel=true&isUseInventoryCenter=false&cartEnable=true&isAreaSell=false&callback=setMdskip×tamp=1466841669969&isg=Al9faN3XWRpIf6UEoQ88UH/1b7np0rNm&ref=https%3A%2F%2Fs.taobao.com%2Fsearch%3Fq%3D%25E6%258B%2589%25E5%25A4%258F%25E8%25B4%259D%25E5%25B0%2594%26imgfile%3D%26commend%3Dall%26ssid%3Ds5-e%26search_type%3Ditem%26sourceId%3Dtb.index%26spm%3Da21bo.50862.201856-taobao-item.1%26ie%3Dutf8%26initiative_id%3Dtbindexz_20160625')
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рджреА рдЧрдИ рдереА:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
рдореИрдВрдиреЗ рдУрдкрдирд╕реЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдмреНрд░реВ рдЕрдкрдЧреНрд░реЗрдб рдУрдкрдирдПрд╕рдПрд▓, рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ - рдЕрдкрдЧреНрд░реЗрдб рдкрд╛рдЗрдк, рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдЕрдиреБрд░реЛрдз, рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдЕрдиреБрд░реЛрдз [рд╕реБрд░рдХреНрд╖рд╛], рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рдореИрдВ openssl version
рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ OpenSSL 0.9.8zh 14 Jan 2016
рдорд┐рд▓рддрд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдХреНрдпрд╛ рдХреЛрдИ рд╣реИ рдЬреЛ рдЗрд╕рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
@jschwinger23 рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ pip install pyopenssl ndg-httpsclient pyasn1
рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?
@ рд▓реБрдХрд╛рд╕рд╛ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдкреБрди: рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
$ pip install pyopenssl ndg-httpsclient pyasn1
Requirement already satisfied (use --upgrade to upgrade): pyopenssl in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requirement already satisfied (use --upgrade to upgrade): ndg-httpsclient in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /Library/Python/2.7/site-packages
рд▓реЗрдХрд┐рди рдХреЛрдб рдЕрднреА рднреА рдиреАрдЪреЗ рд╣реИред
рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ Python3 рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ python3 рдореЗрдВ рдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЦреБрд╢реА рд╣реИред
рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рдЙрдкрд░реЛрдХреНрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
``````
@rohanpai рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рд┐рдлрд░ рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣ рдХрд┐ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдирд╛рдЦреБрд╢ рд╣реИ, рдпрд╛ рдЖрдкрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдирд╣реАрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд▓рд╛рд╣ рджреЗрдирд╛ рдХрдард┐рди рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЙрдмрдВрдЯреВ 14.04LTS рдкрд░ рдореБрдЭреЗ рдпрд╣ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ:
sudo pip install ndg-httpsclient pyasn1 --upgrade
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдмрдВрдЯреВ рдореЗрдВ pyopenssl
рдХреЛ рдЕрдкрдЧреНрд░реЗрдб/рдирд┐рдХрд╛рд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдУрдПрд╕ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИред
рдореИрдХ рдУрдПрд╕ рд╕рд┐рдПрд░рд╛ рдкрд░ рднреА рдорд╛рд░реНрдХрд╕реНрдЯреНрд░реЗрдлреЛрд░реНрдб рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛
@markstrefford рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рд╣реЗрдб рдЕрдк:
рдЬрдм рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдПрд▓рд┐рдкреНрдЯрд┐рдХ рдХрд░реНрд╡реНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддрдм рднреА рдЖрдк рдЯреАрдПрд▓рдПрд╕ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реБрдП рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВрдЧреЗред
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣реИ: http://bugs.python.org/issue29697
рд╣реЗ рд▓реЛрдЧреЛрдВ! рдореБрдЭреЗ рдирд┐рдореНрди рд╕рд░реНрд╡рд░ https://34.200.105.231/SID/Service.svc?wsdl
рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдореИрдВ рдЙрд╕реА 2 рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреВрджрддрд╛ рд╣реВрдВ:
requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)
requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:661)
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? @ рд▓реБрдХрд╛рд╕рд╛ , рдореБрдЭреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: https://sslanalyzer.comodoca.com/?url=34.200.105.231
рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ: рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд╣рдо рдкрд░ рд▓рдЯрдХрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рд┐рдлрд░ рд╕реВрдЯ рдмреЗрдореЗрд▓ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдЖрдк рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред
рдпрд╣ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдХрднреА рднреА рдЦреБрд▓реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ: рдХреЛрдИ рдирд╣реАрдВ, рд╢реВрдиреНрдпред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣реИрдВрдбрд╢реЗрдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рдЖрдзреБрдирд┐рдХ рд╕рд┐рдлрд░ рд╕реВрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрдзреБрдирд┐рдХ рд╕рд┐рдлрд░ рд╕реВрдЯ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ TLS_RSA_WITH_3DES_EDE_CBC_SHA
, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред
рдпрджрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рдЖрдкрдХрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдмреЗрд╣рддрд░ TLS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВред рдЕрдиреНрдпрдерд╛, рдореЗрд░реА рдкрд╣рд▓реА рд╕рд▓рд╛рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдпрд╣рд╛рдВ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдЧрдбрд╝рдмрдбрд╝реА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрдЯрд░ рдкрд░ рджрдмрд╛рд╡ рдбрд╛рд▓реЗрдВред
@ рд▓реБрдХрд╛рд╕рд╛ - рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрдврд╝ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдЖрдЬрдорд╛рдпрд╛ рд╣реИ
рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
OSX рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЦрд░рдЧреЛрд╢ рдХреЗ рдЫреЗрдж рд╕реЗ рдореБрдЭреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдФрд░/рдпрд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЬреАрдд рд╣реЛрдЧреАред
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install --force-reinstall --no-cache-dir {PACKAGE}
рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕реНрдерд╛рдкрд┐рддрдореБрдЭреЗ 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдУрдкрдирдПрд╕рдПрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рдирд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ (рдЬреИрд╕реЗ, рдЧрддрд┐ рдФрд░ рд╕рдВрджреЗрд╢ рд╕рднреА рд╕рдорд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ)
рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб (рдЙрдкрд░реЛрдХреНрдд) рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ, рдЦреБрд╢ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ appears
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реИ?
openssl s_client -connect XXX.102.7.147:443
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 198 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1493384325
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
---
рдЙрд╣...рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рд┐рдлрд░ рдкрд░ рдмрд╛рддрдЪреАрдд рдХреА (рдЕрд░реНрдерд╛рдд, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ SSL_NULL_WITH_NULL_NULL
рдкрд░ рдмрд╛рддрдЪреАрдд рдХреА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл ssllabs рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕рд┐рдлрд░ рд╕реВрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?
@ рд▓реБрдХрд╛рд╕рд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЬрд╛рдВрдЪ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреЗ?
рдЖрдк рд╕рд┐рдлрд░рд╕реНрдХреИрди рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
@ рд▓реБрдХрд╛рд╕рд╛ рдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ ... рдЗрд╕рдХрд╛ рдЕрднрд┐рдирдп рд╡рд┐рд╕реНрдХреА (рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ, рдЗрд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ) ... рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рднреА рд╕рд╛рде рдЖрддрд╛ рд╣реВрдВ рддреЛ рд╡рд╛рдкрд╕ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
@ рд▓реБрдХрд╛рд╕рд╛ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рдлрд░рд╕реНрдХреИрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ - рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдЗрд╕рдХрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рдерд╛, рдФрд░ рд╣рдорд╛рд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЖрдИрдкреА рдмреЗрдореЗрд▓ рдерд╛ ... рд╕реАрдЦреЗ рдЧрдП рд╕рдмрдХ! рдзрдиреНрдпрд╡рд╛рдж ...
рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛!
рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ-рдПрд▓ рдбрд┐рдмрдЧ рдПрдЪ рдЯреАрдЯреАрдкреАрд╕реНрдЯреНрд░реАрдо: //https : // www.arconaitv.us/stream.php?id=43 рд╕рдмрд╕реЗ рдЦрд░рд╛рдм
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ! рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗ!
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕-4.14.0-041400-рдЬреЗрдиреЗрд░рд┐рдХ-рдПрдХреНрд╕86_64-рд╕рд╛рде-рдЙрдмрдВрдЯреВ-14.04-рднрд░реЛрд╕реЗрдордВрдж
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рдкрд╛рдпрдерди: 2.7.6
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ: 0.13.0+27.g2ff314c
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рдЕрдиреБрд░реЛрдз (2.19.1), рдЬреБрд░рд╛рдмреЗрдВ (1.6.7), рд╡реЗрдмрд╕реЛрдХреЗрдЯ (0.48.0)
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рдпреВрдЖрд░рдПрд▓ рдПрдЪ рдЯреАрдЯреАрдкреАрд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП http : // www.arconaitv.us/stream.php?id=43 рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд▓рдЧрдЗрди рдорд┐рд▓рд╛ред
[рдкреНрд▓рдЧрдЗрди.http] [рдбреАрдмрдЧ] рдпреВрдЖрд░рдПрд▓ = https://www.arconaitv.us/stream.php?id=43; рдкреИрд░рд╛рдореНрд╕ = {}
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреНрд░реАрдо: рд▓рд╛рдЗрд╡ (рд╕рдмрд╕реЗ рдЦрд░рд╛рдм, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛)
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рдУрдкрдирд┐рдВрдЧ рд╕реНрдЯреНрд░реАрдо: рд▓рд╛рдЗрд╡ (http)
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рдкреНрд░реА-рдмрдлрд░рд┐рдВрдЧ 8192 рдмрд╛рдЗрдЯреНрд╕
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рд╢реБрд░реБрдЖрддреА рдЦрд┐рд▓рд╛рдбрд╝реА: /usr/bin/vlc
[рдХреНрд▓реА] [рдбреАрдмрдЧ] рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рд▓рд┐рдЦрдирд╛
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛
[рдХреНрд▓реА] [рдЬрд╛рдирдХрд╛рд░реА] рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЦреБрд▓реА рдзрд╛рд░рд╛ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реИ ..
рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрд┐рд╕реНрдордд рдирд╣реАрдВ
рдПрдЯрд▓рд╛рд╕реНрдЯ рдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдкреАрд╕реА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЯреАрд╡реАрдкреНрд▓реЗрдпрд░ рдорд┐рд▓рд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкреАрд╕реА рдореЗрдВ рдЯрд┐рдиреАрдкреНрд░реЙрдХреНрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реАрдкреАрдПрд╕ рдореЗрдВ httpproxy xxxx рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЯрд┐рдиреАрдкреНрд░реЛрдХреНрд╕реА рдареАрдХ рд╣реИ рдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкреАрд╕реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирдорд╕реНрддреЗ @рдорд╛рдирд┐рдЪ , рдпрд╣ рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджреЛрд╖ рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЯреНрд░реИрдХрд░ рдЖрд░рдХреНрд╖рд┐рдд рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ StackOverflow рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж!
рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ --https-рдкреНрд░реЙрдХреНрд╕реА " http://8xxxx :8000/" --tvplayer-email [email protected] --tvplayer-password vcvdf3 --http-no-ssl-verify https://tvplayer.com/watch / рдЖрдИрдЯреАрд╡реА рдмреЗрд╕реНрдЯ --рдкреНрд▓реЗрдпрд░-рдиреЛ-рдХреНрд▓реЛрдЬрд╝ --рд╕реНрдЯрдбрдЖрдЙрдЯ | /var/tmp/youtube/ffmpeg -y -i рдкрд╛рдЗрдк:0 -vcodec copy -acodec copy -flags -global_header -hls_flags delete_segments -hls_time 10 -hls_list_size 6 /mnt/hls/arc.m3u8
ffmpeg рд╕рдВрд╕реНрдХрд░рдг 4.0-рд╕реНрдерд┐рд░ https://johnvansicle.com/ffmpeg/ рдХреЙрдкреАрд░рд╛рдЗрдЯ (c) 2000-2018 FFmpeg рдбреЗрд╡рд▓рдкрд░
рдЬреАрд╕реАрд╕реА 6.3.0 (рдбреЗрдмрд┐рдпрди 6.3.0-18+deb9u1) 20170516 . рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд
рд╡рд┐рдиреНрдпрд╛рд╕: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 -- рд╕рдХреНрд╖рдо-libxml2 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-рдЧреНрд░реЗ --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame -- рд╕рдХреНрд╖рдо-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable -libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
рд▓рд┐рдмрд╛рд╡рдлрд┐рд▓реНрдЯрд░ 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[рдХрдВрд╕реЛрд▓] [рдЬрд╛рдирдХрд╛рд░реА] рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ! рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗ!
[рдХрдВрд╕реЛрд▓] [рдЬрд╛рдирдХрд╛рд░реА] рдпреВрдЖрд░рдПрд▓ https://tvplayer.com/watch/itv рдХреЗ рд▓рд┐рдП рдореИрдЪрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рдЯреАрд╡реАрдкреНрд▓реЗрдпрд░ рдорд┐рд▓рд╛
рддреНрд░реБрдЯрд┐:: рдЦреБрд▓реЗ рдпреВрдЖрд░рдПрд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде https://live.tvplayer.com/stream.m3u8?id=204&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cCo6XC9cL2xpdmUudHZwbGF5ZXIuY29tXC9zdHJlYW0ubTN1OD9pZD0yMDQiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1MjkwNTc0OTR9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiNjIuMjEwLjE0Mi42NlwvMzIifX19XX0_&Signature=mHOteYcUu4QsbGD n0e ~ 7meDUGT8VN7bVOBAHa-0Mk6ROA9XHYx3aIAZMAo3dFjOGuWk-3MszJzRFHdv ~ -CCsmX3D8XQa2zvzfuIWfMAT ~ yDshroXBN25iW6ZJ0-7lGla00jMTUpm5sW-uDy18OkiBWgGvDVas2Lz-рдИрдбрдмреНрд▓реНрдпреВ ~ 5-LTw2YWvEpqkvRB9OpcsHJj9RRQLuDVjwYKXwKvHTJmB1J ~sGE3aigaL7AZyBaIAUMcpk-xYMpDuPV9BsBN9AT397lFfRPFt155u~yeBHZ4JlUN2GINUBt0-CzGuYVq3dsO kYYEZJo9cQTVhArpo7ek03VbDP5egtCM8obN63AEkA рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП:
рдкрд╛рдЗрдк: 0 : рдЗрдирдкреБрдЯ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛ рдорд┐рд▓рд╛
рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗрдВ рдХрд┐ рд╕реНрдЯреНрд░реАрдорд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рд╣реЛ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдореБрджреНрджреЗ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрджреНрджреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдХрд┐ рдУрдПрд╕ рдПрдХреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 0.9.8y рдореЗрдВ SSL рд╣реИрдВрдбрд╢реЗрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдУрдПрд╕ рдПрдХреНрд╕ рдмреЙрдХреНрд╕ рдкрд░ рдкрд╛рдпрдерди 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдЗрд╕рд▓рд┐рдП рдПрдХ рдирдП рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛) рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL
рдЪрд▓рд╛рдХрд░ рдЙрд╕ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╡рд┐рд░реБрджреНрдз PyOpenSSL рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред