繁体   English   中英

从网站收集字符串,该网站在一段时间后开始拒绝您的连接

[英]Gathering strings from a website that starts refusing your connection after a certain amount of time

我目前正在创建一个程序,该程序基于不断变化的变量,连接到网站并收集信息。 它必须最多连接到该网站400次。 一定数量的连接(大约10-30)后,主题网站似乎显示空白屏幕。 有谁知道最好的方法来找到连接之间等待多长时间?

 public static String pullString(int id) {

        return null;
    }

我无法下班,但要使用Google runescape api 他们在这里有一个,我敢打赌他们希望您使用它。

一旦开始阻止您,它最终是否会让您重新连接? 您可能可以执行某种算法来动态查找重试的速度。

您可以考虑类似于TCP拥塞控制的操作:从连接之间的一些等待时间开始。 成功完成后,将等待时间减少一个常数。 遇到错误时,将等待时间加倍(或乘以一个常数)。

但是,很有可能他们正在做一些比限速连接更复杂的事情。 不知道您必须解决什么,很难知道如何解决它。

如果网站在达到一定限制后给您随机的阻止时间,则几乎找不到最佳的等待时间。 我认为您最好的选择是使用HTTP代理池以循环方式访问网站。 虽然这不是很好...但是从技术上讲,如果它在经过一定流量后阻止了您,则它应该是以编程方式访问网站的最佳方式。

这是有关如何使用代理的链接: http : //docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

您还可以使用更简单的HttpClient。

尝试到处搜索,您会发现很多免费的代理服务器列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM