Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何禁用OpenSSL版本验证_Python_Ssl_Docker_Pyopenssl_Sslv3 - Fatal编程技术网

Python 如何禁用OpenSSL版本验证

Python 如何禁用OpenSSL版本验证,python,ssl,docker,pyopenssl,sslv3,Python,Ssl,Docker,Pyopenssl,Sslv3,我正在使用and连接并执行ucp中容器中的命令。一切正常,除了我试图劫持容器中分配的伪终端: import docker import dockerpty import requests client = docker.Client() container = client.create_container( image='busybox:latest', stdin_open=True, tty=True, command='/bin/sh', )

我正在使用and连接并执行
ucp
中容器中的命令。一切正常,除了我试图劫持容器中分配的伪终端:

import docker
import dockerpty
import requests

client = docker.Client()
container = client.create_container(
     image='busybox:latest',
     stdin_open=True,
     tty=True,
     command='/bin/sh',
)

requests.packages.urllib3.disable_warnings()
command = "/bin/bash"
dockerpty.exec_command(client, container, command)
但是,当我执行该命令时,我能够连接远程终端,但当我在终端中键入时,我得到:

File "build/bdist.macosx-10.12-x86_64/egg/dockerpty/__init__.py", line 44, in exec_command

  File "build/bdist.macosx-10.12-x86_64/egg/dockerpty/pty.py", line 334, in start

  File "build/bdist.macosx-10.12-x86_64/egg/dockerpty/pty.py", line 373, in _hijack_tty

  File "build/bdist.macosx-10.12-x86_64/egg/dockerpty/io.py", line 367, in flush

  File "build/bdist.macosx-10.12-x86_64/egg/dockerpty/io.py", line 120, in read

  File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 194, in recv
    data = self.connection.recv(*args, **kwargs)
  File "build/bdist.macosx-10.11-x86_64/egg/OpenSSL/SSL.py", line 1320, in recv

  File "build/bdist.macosx-10.11-x86_64/egg/OpenSSL/SSL.py", line 1187, in _raise_ssl_error

  File "build/bdist.macosx-10.11-x86_64/egg/OpenSSL/_util.py", line 48, in exception_from_error_queue
OpenSSL.SSL.Error: [('SSL routines', 'ssl3_read_bytes', 'tlsv1 alert protocol version')]
我的
openssl
版本是:

$ openssl version
OpenSSL 1.0.2j  26 Sep 2016
而容器具有:

# openssl version
OpenSSL 1.0.1t  3 May 2016
嗯,两者都在
1.0.1
之上。我只需要禁用版本验证。有了
请求
库,我就可以做:

import requests
response = requests.get(<https url>, verify=False)
也是最新的。容器具有
Python 2.7.9
SSL

>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2j  26 Sep 2016
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.1t  3 May 2016
我将从
dockerpy
创建一个fork,并自己添加更改,除非有人有更好的建议。我可以做些什么来解决此问题