【发布时间】:2015-06-23 13:27:34
【问题描述】:
我通过tor代理流量,所以当我需要调用本地主机端口时,它会给出失败错误。
def create_connection(self, address, timeout=None, source_address=None):
sock = socks.socksocket()
sock.connect(address)
return sock
def getVideoTrend(self):
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
socket.create_connection = self.create_connection
#some code
Mongo.SaveEntity()
SaveEntity 包含:
hostname = 'localhost'
port = 27017
self.client = MongoClient(hostname, port)
给了
File "radurl.py", line 110, in getVideoTrend
MongoDbOpp().saveEntity(final_result)
File "/root/Documents/scraping/radurls/mongo_operation.py", line 14, in __init__
self.client = MongoClient(hostname, port)
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 377, in __init__
raise ConnectionFailure(str(e))
pymongo.errors.ConnectionFailure: 0x01: General SOCKS server failure
我理解这个错误背后的原因,mongo 尝试连接到本地控制端口,通过一个 tor 出口节点被代理。
这个问题有解决办法吗?
或者我可以在 Mongo 操作之前终止 Tor 会话?
【问题讨论】:
标签: python proxy network-programming tor proxy-server