我正在尝试发送获取请求以获取网站内容。 当我使用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一样快速地工作吗?
感谢。
答案 0 :(得分:0)
尝试找到while循环的变通方法。也许这是你的瓶颈。你甚至从你的URL获得了什么? Json对象还是别的什么?
答案 1 :(得分: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();
}
我在使用前建议阅读文档。