【发布时间】:2012-09-03 09:10:32
【问题描述】:
我想向以下形式的 Web 服务发出几百万个 http 请求- htp://(一些 ip)//{id}
我有身份证列表。 简单的计算表明,我的 java 代码大约需要 4-5 小时才能从 api 获取数据 代码是
URL getUrl = new URL("http url");
URLConnection conn = getUrl.openConnection();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sbGet = new StringBuffer();
String getline;
while ((getline = rd.readLine()) != null)
{
sbGet.append(getline);
}
rd.close();
String getResponse = sbGet.toString();
有没有一种方法可以更有效地提出这样的请求,从而花费更少的时间
【问题讨论】:
-
你是用什么方法计算时间的?? 4-5 小时!!!
-
我测量了进行几千个 http 调用所需的时间,并估算了其余的时间
-
如果可以使用StringBuilder,请不要使用StringBuffer。
-
StringBuilder 比 StringBuffer 快大约 25%