首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用tor代理时常见的SOCKS服务器故障

使用tor代理时常见的SOCKS服务器故障
EN

Stack Overflow用户
提问于 2015-06-23 13:27:34
回答 2查看 3K关注 0票数 0

我正在通过tor代理流量,所以当我需要调用localhost端口时,它会给出失败错误。

代码语言:javascript
运行
复制
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包含:

代码语言:javascript
运行
复制
hostname = 'localhost'
port = 27017
self.client = MongoClient(hostname, port)

这给

代码语言:javascript
运行
复制
  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

我理解这个错误的原因,蒙戈试图连接到本地控制端口,通过一个tor退出节点.进行代理。

这个问题有什么解决办法吗?

或者我可以在Mongo手术后终止治疗?

EN

回答 2

Stack Overflow用户

发布于 2016-03-30 11:23:17

在代码之前创建mongo连接对象。花了一天时间想办法解决这个问题。然后就改变了导入mongo和tor文件的顺序,它起了作用。

票数 0
EN

Stack Overflow用户

发布于 2020-01-06 16:10:01

您可以首先记录原始套接字,如ori_socket = socket.socket。并在执行mongo操作之前重新定义socket.socket = ori_socket。这对我来说很管用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31004104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档