如何使用Python 3,套接字和代理(TOR)获取我的IP?

时间:2017-08-01 23:20:44

标签: python sockets proxy tor

我尝试使用某些第三方服务,例如ipify.com,但很容易获得Max retries例外,因为我发送了很多请求。

所以我找到了一种通过Google DNS(link)获取IP的简单方法。这是代码:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])
s.close()

另外,我已经阅读了一些文章(link 1link 2link 3),根据我的理解,它很容易发送{{1使用HTTP GET模块通过代理请求。

但我无法理解,如何合并这两种技术并通过代理连接到8.8.8.8。

需要你的帮助,提前谢谢。

1 个答案:

答案 0 :(得分:1)

您无法合并这些技术,因为您正在使用DGRAM(UDP)套接字and Tor only proxies TCP connections

因此您需要连接到基于TCP的服务器。最好的选择是你自己的服务器 - 在AWS转储SERVER_IP上设置一些东西相当容易,并且根据你的负载它可能会花费很多 - 如果有的话。或者您可以使用免费的IP查询服务器,但可以旋转它们(在每个请求中使用不同的服务器),以确保您不会超过允许的阈值。