gpt4 book ai didi

JAVA:从 HTTPS URL 获取响应代码的最快和最好的方法是什么?

转载 作者:行者123 更新时间:2023-11-30 08:50:54 25 4
gpt4 key购买 nike

    private int getResponse(String url) throws Exception {

try {
URL check = new URL(url);
HttpsURLConnection connection = (HttpsURLConnection)check.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.connect();

return(connection.getResponseCode());

} catch (java.net.SocketTimeoutException e) {
return getResponse(url);
}

}

有没有比 HttpsURLConnection 更快的从 URL 获取响应代码的方法?

我尝试了 HTTP Client Commons 中的 HeadMethod,但速度并没有那么快。

提前致谢

最佳答案

我强烈怀疑,与正常的互联网延迟和 Java 本身使用的网络堆栈(由底层操作系统提供)相比,差异绝对是最小的。

虽然无论库如何,发出 1 个请求都会产生大致相同的开销(只要它没有完全损坏;Apache Commons 和 JDK 都可以),如果你要发出多个请求,有几件事将显着提高性能:

  • 如果您需要尽快完成多个请求,并且不需要每个请求都完成才能开始其他请求,那么请并行处理。一个有用的指针可能是 https://github.com/AsyncHttpClient/async-http-client (灰熊项目的一部分;使用 NIO 进行非阻塞、高度可扩展的通信)
  • 如果您要从同一个站点执行其他请求,那么如果您使用 keep-alive header 并为多个请求重用同一连接,您将看到显着的性能提升 (> 2 倍)。这是由于 HTTPS 连接的高设置成本。更多信息请访问 HTTP vs HTTPS performance (还有一个漂亮的图表 here )。首次 HTTPS 请求在交换任何数据之前需要 2 次往返协商加密;进一步的请求可以避免握手。

关于JAVA:从 HTTPS URL 获取响应代码的最快和最好的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30765959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com