0

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

 public static String pullString(int id) {

        return null;
    }
4

3 回答 3

0

我不能下班去那里,但是 google runescape api. 他们这里有一个,我敢打赌他们希望你用它。

于 2012-09-05T18:20:25.553 回答
0

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

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

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

试着google一下,你可以找到很多免费的代理服务器列表。

于 2012-09-06T02:29:19.867 回答
0

一旦它开始阻止你,它最终会让你重新连接吗?您也许可以执行某种算法来动态确定重试的速度。

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

不过,他们很可能正在做一些比限速连接更复杂的事情。不知道你必须绕过什么,很难知道如何绕过它。

于 2012-09-05T18:30:52.787 回答