Java http请求工具连接超时时间

研究了一下三种java常用的http请求工具框架hutool、okhttp3、spring RestTemplate 对于连接超时和读超时的处理机制。

运行环境 jdk8 windows

连接超时

hutool、okhttp3、spring RestTemplate 三种请求,底层使用的都是jdk里的java.net.DualStackPlainSocketImpl#socketConnect
建立连接的最底层方法源码如下,其中connect0(nativefd, address, port) 是属于native方法了。
Java http请求工具连接超时时间_第1张图片
如上图,timeout是调用时显示设置的connect timeout,
hutool、spring RestTemplate : 调用时不显示设置,不会给默认设置,底层传入的是0,实际测试jdk8环境下最大等待20s。
okhttp3 : 调用时不显示设置,会默认给设置10s,所以底层一定有timeout。

读超时

待补充

你可能感兴趣的:(java,http,开发语言)