Python中结构函数的最佳方法

时间:2014-10-26 21:33:19

标签: python python-2.7 tor

我目前正在寻找将我的常规公共IP地址与我也连接到互联网的TOR IP地址进行比较。我的代码如下: -

def public_ip():
    url = 'http://ifconfig.me/ip'
    request = urllib2.Request(url)
    request.add_header('Cache-Control','max-age=0')
    response = urllib2.urlopen(request)
    print response.read()

def connect_tor(): 
    LOCALHOST = "127.0.0.1"
    PORT = 9150

    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, LOCALHOST, PORT)
    socket.socket = socks.socksocket

    url = 'http://ifconfig.me/ip'
    request = urllib2.Request(url)
    request.add_header('Cache-Control','max-age=0')
    response = urllib2.urlopen(request)
    print response.read()

if __name__ == "__main__":
    public_ip()
    connect_tor()

我要做的是创建第三个函数,该函数将确认两个函数生成的IP地址的值,以确认它们是不同的。但是,如何将前两个函数中的IP地址提供给第三个函数。这是我到目前为止的想法,但我不确定最佳选择: -

1。)只需为所有三个功能创建一个大功能 2.)创建全局变量并将值返回到全局变量,并在第三个函数中使用它们 3.)拨打' connect_tor'功能来自' public_ip'功能传递' public_ip'到'connect_tor函数'然后通过将两个IP作为参数传递来调用第三个函数。

这里的最佳做法或建议是什么?

1 个答案:

答案 0 :(得分:4)

我会在当前函数public_ip()connect_tor()中添加一个返回值。然后简单地比较它们:

print public_ip() != connect_tor()

通过这种方式,您可以检查匿名性,同时完全避免使用其他功能。