我编写了一个应用程序,它只是解析指定网站的网页列表,并使用JSoup提取内容
问题是,通过我的IP,我可以每天从我的列表(在同一个域中)最多请求3个特定页面,在这3个页面之后,我尝试的每个请求都被重定向到一个页面,要求我下一步回来一天多3个请求。
我要做的是让我的应用程序每3次请求更改我的IP。
我已经测试了SilverTunnel和JTor(允许我为我的请求提供每3个请求一个新的idendity-IP),但是那些lib记录不好,并且几乎没有关于如何每N个周期更改我的身份的示例)。
我在问是否有人知道如何让我的应用程序更改我的IP,屏蔽它,甚至要求我的ISP使用特定的IPV6并使用不同的新版本进行更改。
有人知道该问题的任何解决方案或测试类似的东西吗?
谢谢大家。
答案 0 :(得分:0)
此用例的最佳解决方案是向网站询问您的操作许可。然后,他们会将您列入白名单,或者更好地指向您使用内部API,您可以以比HTML更有效的方式获取有趣的数据。
[编辑] 我还没有听说过(法律)技术解决方案。犯罪分子使用巨大的僵尸网络和成千上万的被黑客入侵的计算机,但是我强烈建议你远离那个。
我还没有遇到一个每天只允许三次下载的页面。这种严格的限制告诉我那些人真正沉迷于他们的数据。试图规避他们的防御可能会让你陷入困境(无论你身边多么愚蠢)。如果他们和您在美国,请准备起诉违反CFAA。 This 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(好吧,如果你愿意花很多钱,也许你可以获得一块)。