我目前正在寻找将我的常规公共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作为参数传递来调用第三个函数。
这里的最佳做法或建议是什么?
答案 0 :(得分:4)
我会在当前函数public_ip()
和connect_tor()
中添加一个返回值。然后简单地比较它们:
print public_ip() != connect_tor()
通过这种方式,您可以检查匿名性,同时完全避免使用其他功能。