我编写了一个应用程序,它简单地解析指定网站的网页列表并使用JSoup提取内容。
问题是,使用我的IP,我可以每天从我的列表中请求最多3个特定页面(位于同一域),在这3页之后,我尝试的每一个请求都被重定向到一个页面,该页面要求我第二天再来请求3个请求。
我想做的是让我的应用程序每三个请求改变我的IP。
我已经对SilverTunnel和JTor进行了测试(允许我将每3个请求都作为一个新的idendity-IP来处理),但是这些libs都有糟糕的文档记录,而且几乎没有关于我如何在每N个周期更改身份的例子)。
我的问题是,是否有人知道如何让我的应用程序改变我的IP,屏蔽它,甚至要求我的ISP使用一个特定的IPV6,并发布一个新的改变。
有没有人知道这个问题的解决方案,或者测试过类似的东西?
谢谢大家。
发布于 2013-10-03 10:06:52
此用例的最佳解决方案是请求网站允许您所做的事情。然后,它们将向您白名单,或者更好地指向一个内部API,在该API中,您可以以比HTML更高效的方式获取有趣的数据。
编辑我还没有听说过一种(合法的)技术解决方案。罪犯使用巨大的机器人网和成千上万被黑客入侵的电脑来做类似的事情,但我强烈建议你远离它。
我还没见过一个每天只允许三次下载的页面。这个严格的限制告诉我,那些人真的对他们的数据着迷。试图避开他们的防御会给你带来麻烦(不管从你身边看上去多么愚蠢)。如果他们和你在美国,准备因为违反非洲金融管理局而被起诉。这种情况以前发生过,原因较少。
现在是一些技术细节。你没有说你是如何连接互联网的。如果您通过DHCP接收您的IP,则需要要求您的ISP提供不同的地址。这将是一个手动的过程对他们来说,所以准备找到很少的热情在他们一方。
Tor听起来是一个很好的解决方案,因为每次洋葱路由都应该使用不同的退出节点发出请求。但是只有(相对)少量的退出节点,因此在相对较短的时间之后,您将尝试每个节点三次(如果其他人连接到与您相同的服务,情况会变得更糟)。
EDIT2一种可能的解决方案可能是成为ISP并正式购买IP地址块(就像任何正常的ISP一样)。
IPv6块不应该那么昂贵,但是请注意,如果该服务只与IPv4一起工作,它们将不会为您提供任何地方!如果是这样的话,那么在您和服务之间将有一个IPv6 6到IPv6 4的桥接器,它会认为您总是使用相同的地址。
目前试图购买IPv4地址的是可能无望 (嗯,如果你愿意花很多钱的话,也许你可以买到一个街区)。
https://stackoverflow.com/questions/19156143
复制相似问题