Java的http get请求比postman的get请求慢

4

我试图发送一个get请求来获取网站内容。当我使用Postman时,它需要大约70-100毫秒,但是当我使用以下代码:

String getUrl = "someUrl";

URL obj = new URL(getUrl);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();

// optional default is GET
con.setRequestMethod("GET");

//add request header
con.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null)
{
    response.append(inputLine);
}
in.close();

response.toString();

需要大约3-4秒钟的时间。

有没有想法如何让我的代码像Postman一样快?

谢谢。


1
你尝试过禁用 Http 代理的使用吗? - Akash
2个回答

0

尝试找到 while 循环的解决方法。也许这是你的瓶颈所在。你从 URL 中获取了什么?Json 对象还是其他东西?


0
尝试使用基于Apache Http API构建的http-request
HttpRequest<String> httpRequest = HttpRequestBuilder.createGet(someUri, String.class)
    .responseDeserializer(ResponseDeserializer.ignorableDeserializer())
    .addDefaultHeader("User-Agent", "Mozilla/5.0")
    .build();

public void send(){
   String response = httpRequest.execute().get();
}

在使用前,我强烈建议阅读文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接