首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Tor电路10个实例的有效方法

创建Tor电路10个实例的有效方法
EN

Stack Overflow用户
提问于 2014-08-11 21:07:11
回答 1查看 281关注 0票数 0

我试图做的是创造一个快速的方式,我可以建立10个电路,跳将永远是一样的,但我需要他们有一个新的袜子连接。( Tor中的电路就像一个独特的连接)。

我的标准代码是:

代码语言:javascript
复制
circ_to_ip= TorCircuit(ssl_sock)
create_circuits(circ_to_ip, hops_in_circ)

这创建了一个名为circ_to_ip的单一电路,然后我可以通过这个创建一个电路,circ_to_ip`创建一个新的sock连接?

我尝试了下面的代码:

代码语言:javascript
复制
n = 1
while n < 10:

    n= TorCircuit(ssl_sock)
    create_circuits(n, hops_in_circ)
    print "circuit",n 
    n = n + 1 
sys.exit(0)

然而,当n被分配给TorCircuit时,它变成一个实例,而不是int,因此失败。

我如何创建10个电路,我最初的计划是创建10个不同的名字来做这件事,但这不仅不起作用,我也觉得有一个更好的方法?

如果需要,TorCircuit类在下面

代码语言:javascript
复制
TOR_CIRCID_COUNTER = 1
class TorCircuit():
    def __init__(self, sock):
        global TOR_CIRCID_COUNTER
        self.hops = []
        self.circId = TOR_CIRCID_COUNTER
        TOR_CIRCID_COUNTER+=1
        self.socket = sock
        self.tempX = 0
        self.packetSendCount = 0
        self.cookie = []

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 21:12:10

您的问题是,您目前正在用新电路覆盖环路计数器(n)。

相反,您要做的是将这些电路存储在list中。另外,您可能希望在for循环中使用range,而不是while循环:

代码语言:javascript
复制
storage = [] # Empty list to store all the circuits
for n in range(10):
    circuit = TorCircuit(ssl_sock)
    create_circuits(circuit, hops_in_circ)
    print "circuit", circuit
    storage.append(circuit) # Add the circuit to the list
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25252428

复制
相关文章

相似问题

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