用于自定义超时设置的 java.net.URL 替代方案

发布于 2024-10-23 23:55:32 字数 261 浏览 4 评论 0原文

使用 java.net.URL 类发出的远程数据请求需要超时设置。经过一番谷歌搜索后发现有两个系统属性可用于设置 URL 类的超时,如下所示。

sun.net.client.defaultConnectTimeout  
sun.net.client.defaultReadTimeout

我无法控制所有系统,也不希望每个人都继续设置系统属性。是否有其他替代方法可以发出远程请求,允许我设置超时。 没有任何库,如果java本身可用的话更好。

Need timeout setting for remote data request made using java.net.URL class. After some googling found out that there are two system properties which can be used to set timeout for URL class as follows.

sun.net.client.defaultConnectTimeout  
sun.net.client.defaultReadTimeout

I don't have control over all the systems and don't want everybody to keep setting the system properties. Is there any other alternative for making remote request which will allow me to set timeouts.
Without any library, If available in java itself is preferable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终弃我 2024-10-30 23:55:32

如果您从 URL 打开 URLConnection,您可以这样设置超时:

URL url = new URL(urlPath);
URLConnection con = url.openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(readTimeout);
InputStream in = con.getInputStream();

您如何使用 URL 或您传递的内容是什么到?

If you're opening a URLConnection from URL you can set the timeouts this way:

URL url = new URL(urlPath);
URLConnection con = url.openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(readTimeout);
InputStream in = con.getInputStream();

How are you using the URL or what are you passing it to?

送你一个梦 2024-10-30 23:55:32

常见的替代品是 Apache Commons HttpClient,它可以对整个过程提供更多控制获取 HTTP URL。

A common replacement is the Apache Commons HttpClient, it gives much more control over the entire process of fetching HTTP URLs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文