我正在使用python和M2Crypto與服務器進行安全的SSL連接。見下面的代碼。socket.setdefaulttimeout與M2Crypto連接進行交互
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,在通話 迴歸自我.__發(個體經營.__ 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:
爲什麼默認的套接字超時會導致問題?
你能告訴我們什麼問題是,什麼補丁(如https://gitlab.com/m2crypto/m2crypto/issues/new一個新的問題,請),所以我們可以認爲它對於目前的m2crypto,請問?謝謝。 – mcepl 2016-08-26 19:27:29