【问题标题】:Java http get request slower than postman get requestJava http 获取请求比邮递员获取请求慢
【发布时间】:2017-12-29 07:32:13
【问题描述】:

我正在尝试发送获取请求以获取网站内容。 当我使用 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 一样快速运行吗?

谢谢。

【问题讨论】:

  • 您是否尝试禁用 Http 代理?

标签: java postman get-request


【解决方案1】:

尝试为 while 循环寻找解决方法。也许这就是你的瓶颈。你甚至从你的 URL 中得到了什么? Json 对象还是别的什么?

【讨论】:

    【解决方案2】:

    尝试基于 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();
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 2016-10-31
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多