Java:如何在我的应用程序的每个周期请求新的IP

时间:2013-10-03 09:56:04

标签: java proxy dhcp tor spoofing


我编写了一个应用程序,它只是解析指定网站的网页列表,并使用JSoup提取内容 问题是,通过我的IP,我可以每天从我的列表(在同一个域中)最多请求3个特定页面,在这3个页面之后,我尝试的每个请求都被重定向到一个页面,要求我下一步回来一天多3个请求。
我要做的是让我的应用程序每3次请求更改我的IP。

我已经测试了SilverTunnel和JTor(允许我为我的请求提供每3个请求一个新的idendity-IP),但是那些lib记录不好,并且几乎没有关于如何每N个周期更改我的身份的示例)。

我在问是否有人知道如何让我的应用程序更改我的IP,屏蔽它,甚至要求我的ISP使用特定的IPV6并使用不同的新版本进行更改。

有人知道该问题的任何解决方案或测试类似的东西吗?

谢谢大家。

1 个答案:

答案 0 :(得分:0)

此用例的最佳解决方案是向网站询问您的操作许可。然后,他们会将您列入白名单,或者更好地指向您使用内部API,您可以以比HTML更有效的方式获取有趣的数据。

[编辑] 我还没有听说过(法律)技术解决方案。犯罪分子使用巨大的僵尸网络和成千上万的被黑客入侵的计算机,但是我强烈建议你远离那个。

我还没有遇到一个每天只允许三次下载的页面。这种严格的限制告诉我那些人真正沉迷于他们的数据。试图规避他们的防御可能会让你陷入困境(无论你身边多么愚蠢)。如果他们和您在美国,请准备起诉违反CFAAThis has happened before for lesser reasons

现在一些技术细节。您没有说明如何连接到Internet。如果您通过DHCP接收IP,则需要请求ISP提供不同的地址。这将是他们自己的一个手动过程,所以准备好找到自己的一点热情。

Tor听起来像是一个很好的解决方案,因为Onion routing每次都应该使用不同的退出节点发出请求。但是只有一个(相对)少量的退出节点,所以很可能在相对较短的时间后,你会尝试每个节点三次(如果其他人连接到你的同一服务,这会变得更糟)。 / p>

[EDIT2] 一种可能的解决方案可能是成为ISP并正式购买IP地址块(就像任何普通ISP一样)。

IPv6块不应该那么昂贵,但请注意,如果该服务仅适用于IPv4,它们将无法到达任何地方!如果是这种情况,那么您和服务之间将存在IPv6到IPv4的桥接,它会认为您总是使用相同的地址。

目前尝试购买IPv4地址的时间是probably hopeless(好吧,如果你愿意花很多钱,也许你可以获得一块)。