【问题标题】:python3 port scanner outer variablepython3端口扫描器外部变量
【发布时间】:2016-04-22 08:05:00
【问题描述】:

用户在 python3 的输入字段中设置 ip 后,我正在扫描端口范围。这行得通,但看起来不那么专业。我有一段时间有一个 for 循环,并在那里尝试。如果没有外部类来获得断点,我怎样才能写得更优雅?谢谢。

代码如下:

s = socket.socket()

class outtervar():
    connected=0

while(test.outtervar==0):
    ip = getFromInputField()
    for x in range(100): 
        try:
            s.connect((ip, port + x))
            outtervar.connected=1
            break
        except socket.error as e:
            print("Cannot connect")
            print(e)
            outtervar.connected=0

【问题讨论】:

    标签: loops python-3.x while-loop


    【解决方案1】:

    你可以使用一个成功返回的函数:

    def connect(s):
        while True:
            ip = getFromInputField()
            for x in range(100): 
                try:
                    s.connect((ip, port + x))
                    return
                except socket.error as e:
                    print("Cannot connect")
                    print(e)
    
    s = socket.socket()                
    connect(s)
    

    【讨论】:

    • 好主意!解决了我的问题,因为我还是想把它放到一个班级里:) 谢谢!
    • 很好,它有帮助。顺便说一句,如果它解决了你的问题,你可以accept 一个答案。
    • 啊,我现在按了绿色检查。谢谢迈克!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多