`
sunnylocus
  • 浏览: 871277 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

HttpURLConnection设置网络超时

    博客分类:
  • Java
阅读更多

   Java中可以使用HttpURLConnection来请求WEB资源。
HttpURLConnection对象不能直接构造,需要通过URL.openConnection()来获得HttpURLConnection对象,示例代码如下:

String urlStr= "www.sina.com.cn";
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 

 

HttpURLConnection是基于HTTP协议的,其底层通过socket通信实现。如果不设置超时(timeout),在网络异常的情况下,可能会导致程序僵死而不继续往下执行。可以通过以下两个语句来设置相应的超时:
System.setProperty("sun.net.client.defaultConnectTimeout", 超时毫秒数字符串);
System.setProperty("sun.net.client.defaultReadTimeout", 超时毫秒数字符串);

其中: sun.net.client.defaultConnectTimeout:连接主机的超时时间(单位:毫秒)
sun.net.client.defaultReadTimeout:从主机读取数据的超时时间(单位:毫秒)

例如:

System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); 

 

JDK 1.5以前的版本,只能通过设置这两个系统属性来控制网络超时。在1.5中,还可以使用HttpURLConnection的父类URLConnection的以下两个方法:
setConnectTimeout:设置连接主机超时(单位:毫秒)
setReadTimeout:设置从主机读取数据超时(单位:毫秒)

例如:

HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(30000);
urlCon.setReadTimeout(30000); 
分享到:
评论

相关推荐

    Java HttpURLConnection超时和IO异常处理

    下面将详细讨论`HttpURLConnection`的超时设置、IO异常处理以及如何应对这些问题。 1. **超时设置**: - `setConnectTimeout(int timeout)`:这个方法用于设置建立网络连接的超时时间,单位为毫秒。如果在指定时间...

    A0803使用HttpURLConnection访问网络1

    4. **设置超时**:通过`setReadTimeout()`和`setConnectionTimeout()`方法,可以设定读取数据和建立连接的超时时间,以防止程序因等待响应而无响应。 5. **设置请求方法**:使用`setRequestMethod()`方法指定请求...

    AndroidHttpURLConnection发送GET请求

    设置连接超时,读取超时的毫秒数,以及服务器希望得到的一些消息头 conn.setConnectTimeout(6*1000); 获取服务器的响应码并进行判断,正确的响应码一般为200 if(conn.getResponseCode() != 200) 调用...

    Android HttpURLConnection下载网络图片设置系统壁纸

    在这个场景中,我们将使用 `HttpURLConnection` 来下载网络图片,并将其设置为系统的壁纸。 首先,我们需要创建一个工具类 `HttpURLConnectionUtil`,这个类包含了一个静态方法 `setWallpaper()`,用于执行下载和...

    Android 用HttpURLConnection访问网络的方法

    Android 使用 HttpUrlConnection 访问网络的方法 Android 作为移动开发的主要平台之...Android 使用 HttpUrlConnection 访问网络可以实现 GET 和 POST 两种请求方式,通过设置请求方式和参数可以实现不同的网络请求。

    使用HttpURLConnection

    HttpURLConnection是基于HTTP协议的,其底层通过socket通信实现。如果不设置超时(timeout),在网络异常的情况下,可能会导致程序僵死而不继续往下执行。

    超时处理abc

    可以分别通过`HttpClient`的`RequestConfig`或`HttpURLConnection`的`setConnectTimeout(int timeout)`和`setReadTimeout(int timeout)`方法来设置连接超时和读取超时。 3. **线程超时**:Java的`Future.get(long ...

    Android网络技术HttpURLConnection详解

    同时,HttpURLConnection 也提供了多种配置选项,例如设置连接超时、读取超时、缓存等,可以根据实际情况进行配置。 在 Android 中,HttpURLConnection 是一种常用的网络请求方式,它可以满足大多数的网络请求需求...

    Java HttpURLConnection使用方法详解

    在使用 HttpURLConnection 时,首先需要创建一个 URL 对象,指定要请求的 URL,然后打开连接,设置连接超时时间,最后获取输入流,并将其转换为字符串。 在上面的代码中,我们使用了 `get()` 方法来演示如何使用 ...

    使用HttpURLConnection访问web页面[文].pdf

    例如,`connection.setRequestMethod("POST")`用于设置POST请求,`connection.setConnectTimeout(5000)`设置连接超时为5秒。 2. 发送请求:对于POST请求,可能需要写入请求数据,如`connection.getOutputStream()....

    Android基于HttpUrlConnection类的文件下载实例代码

    在文件下载中,我们需要使用HttpUrlConnection类来打开链接、设置链接超时、设置请求方法、设置请求头等。同时,我们还需要使用File类来创建文件对象,用于存储下载的文件。 下面是文件下载实例代码的详细解释: ...

    利用HttpURLConnection进行手机号段归属地数据采集

    - 通过`HttpURLConnection`,我们可以设置请求方法(GET、POST等)、请求头、超时时间以及处理响应数据。 2. **HTTP请求过程**: - 首先,创建URL对象,通过`openConnection()`方法获取HttpURLConnection实例。 ...

    2022年最新Android高级技术笔试面试试题及答案.docx

    涵盖了Android开发中各种重要知识点,包括WebView、XML解析、权限管理、Camera拍照、LocationManager定位、AppWidget小部件、AsyncTask异步任务、HttpUrlConnection网络连接等方面。 一、WebView相关知识点 * ...

    Android Studio调用RestfulWCF接口

    同时,在发送网络请求时,需要设置合适的超时时间和缓存策略,以避免网络请求超时和缓存的问题。 Android Studio 调用 Restful WCF 接口需要使用 HttpURLConnection 和线程来实现异步网络访问,并需要在 ...

    Android如何获取网络图片

    - 设置超时:通过`setConnectTimeout()`和`setReadTimeout()`方法,可以设定连接超时和读取超时,防止因网络延迟导致应用无响应。 3. **读取网络流**: - 一旦连接建立,可以通过`HttpURLConnection....

    百度坐标转换HttpURLConnection连接失败重试.pdf

    // 设置请求方法、超时等参数 // ... // 处理响应 // ... break; // 成功则跳出循环 } catch (IOException e) { if (i == maxRetries - 1) { // 所有重试都失败,抛出异常或记录错误信息 throw new ...

    Android 中HttpURLConnection与HttpClient使用的简单实例

    在Android开发中,网络通信是应用程序不可或缺的一部分,而HttpURLConnection和HttpClient是两种常用的HTTP客户端库。本文将详细介绍如何在Android中使用这两种方法进行网络请求,并提供简单的实例。 首先,我们来...

    软件开发与项目管理-1期 KC02_模块四_模块案例_Android实现网络通信.doc

    - 对HttpURLConnection进行配置,例如设置请求方法(GET或POST)、超时时间、添加请求头等。 - 调用`connect()`方法建立实际的网络连接。 - 如果是GET请求,可以直接读取响应;如果是POST请求,需要先写入请求体...

Global site tag (gtag.js) - Google Analytics