我正在使用 python 和 M2Crypto 与服务器建立安全的 SSL 连接。请参阅下面的代码。
from M2Crypto import SSL, m2,x509
from M2Crypto.m2xmlrpclib import Server, SSL_Tranport
ctx = SSL.Context()
m2.ssl_ctx_use_pkey_privkey(ctx.ctx,myKey.pkey)
m2.ssl_ctx_use_x509(ctx.ctx,myCert.x509)
server = Server(serverUrl, SSL_Transport(ctx))
server.ping()
以上工作正常。如果我尝试通过在代码开头添加以下两行来更改默认套接字超时,则会收到协议错误。
import socket
socket.setdefaulttimeout(40)
这是我收到的错误:
文件“/usr/local/lib/python2.4/xmlrpclib.py”,第 1096 行,调用 return self.__send(self.__name, args) 文件“/usr/local/lib/python2.4/xmlrpclib.py ",第 1383 行,在 __request verbose=self.__verbose 文件中 "/usr/local/lib/python2.4/site-packages/M2Crypto/m2xmlrpclib.py",第 68 行,在请求标头 xmlrpclib.ProtocolError 中:
为什么默认套接字超时会导致问题?