需要为使用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 的,或者你将它传递给了什么?
URL#openStream()
,这确实会使用默认的超时时间。 - BalusC