无论何时启用HTTPretty,我都无法与PyMongo建立连接。我知道HTTPretty改变了核心套接字模块;有什么办法可以解决这个问题吗?在
代码示例:
import pymongo
import httpretty
import time
httpretty.enable()
try:
client = pymongo.MongoClient()
except pymongo.errors.AutoReconnect:
print("AutoReconnect")
time.sleep(2)
引发异常:
^{pr2}$我在Windows8.1上使用Python3.3。在
有谁能解释一下这种行为以及如何解决它吗?谢谢!在
看起来这个异常是和HTTPretty的monkey补丁有关的 socket,当我们对非HTTP请求调用} )。这个
将套接字置于非阻塞模式。套接字上的超时永远不会重置
在}
(错误号10035)。这可能是HTTPretty中的一个bug。在
sendall
时,它在自己的套接字上调用settimeout(0)
(请参见 ^{real_sendall
之后,因此对recv
的后续调用将失败,并返回{解决方法之一是在
real_sendall
。这可以通过猴子修补fakesocket.socket
在HTTPretty中:相关问题 更多 >
编程相关推荐