java.net.URL替代自定义超时设置
需要使用java.net.URL类进行远程数据请求的超时设置。 在一些谷歌搜索后发现有两个系统属性可用于设置URL类的超时,如下所示。
sun.net.client.defaultConnectTimeout sun.net.client.defaultReadTimeout
我无法控制所有系统,也不希望每个人都继续设置系统属性。 是否有任何其他替代方法可以进行远程请求,这将允许我设置超时。 没有任何库,如果在java本身可用是可取的。
如果您从URL
打开URLConnection
,则可以通过以下方式设置超时:
URL url = new URL(urlPath); URLConnection con = url.openConnection(); con.setConnectTimeout(connectTimeout); con.setReadTimeout(readTimeout); InputStream in = con.getInputStream();
你是如何使用URL
或者将它传递给什么的?
一个常见的替代品是Apache Commons HttpClient ,它可以更好地控制获取HTTP URL的整个过程。