Я делаю безопасное SSL-соединение с сервером, используя python и 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, в вызов
вернуть себя .__ отправить (self .__ имя, аргументы)
Файл "/usr/local/lib/python2.4/xmlrpclib.py", строка 1383, в __request
многословен = само .__ многословным
Файл "/usr/local/lib/python2.4/site-packages/M2Crypto/m2xmlrpclib.py", строка 68, в запросе
заголовки
xmlrpclib.ProtocolError:
Почему время ожидания сокета по умолчанию вызывает проблемы?