`
zhuixue
  • 浏览: 174533 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

HttpURLConnection中如何设置网络超时

阅读更多

Java中可以使用HttpURLConnection来请求WEB资源。
HttpURLConnection对象不能直接构造,需要通过URL.openConnection()来获得HttpURLConnection对象,示例代码如下:
String szUrl = "http://www.ee2ee.com/";
URL url = new URL(szUrl);
HttpURLConnection urlCon = (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.defaultReadTime ", "30000");

 

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

例如:
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(30000);
urlCon.setReadTimeout(30000);

分享到:
评论

相关推荐

    Android网络技术HttpURLConnection详解

    在 Android 中,HttpURLConnection 是一种推荐使用的网络请求方式,因为它可以在 Android 6.0 及更高版本中使用,而 HttpClient 已经被弃用。下面是使用 HttpURLConnection 发送 GET 请求的示例代码: 首先,需要在...

    Java HttpURLConnection超时和IO异常处理

    在Java编程中,`HttpURLConnection` 是用于执行HTTP请求的核心类,它提供了基本的网络连接功能,包括设置超时和处理可能出现的IO异常。在上述的代码示例中,开发者试图通过HTTP GET方法从指定的URL获取数据。下面将...

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

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

    Android 用HttpURLConnection访问网络的方法

    HttpUrlConnection 是 Android 中的一种访问网络的方式,它可以实现 GET 和 POST 两种请求方式。本文将详细介绍 Android 使用 HttpUrlConnection 访问网络的方法。 一、 HttpUrlConnection 以 GET 方式访问网络 在...

    Android使用HttpURLConnection访问网络

    本篇文章将深入探讨如何在Android应用中利用HttpURLConnection访问网络,包括设置请求方法、添加请求头、处理响应以及解决常见问题。 1. HttpURLConnection简介: HttpURLConnection是Java内置的类,它是...

    Android开发使用HttpURLConnection进行网络编程详解【附源码下载】

    本文将详细介绍如何在Android中使用HttpURLConnection进行网络编程,包括设置请求方法、获取响应码、处理GET和POST请求以及实现多线程下载,并涉及权限控制和布局文件的使用。 首先,设置请求方法是通过`...

    android HttpURLConnection,AsyncHttpClient网络请求实例

    同时,为了提高用户体验,还需考虑在网络请求过程中显示加载指示器,并处理网络错误,如超时、无网络等问题。 综上所述,Android应用开发中的网络请求是一个关键领域,掌握HttpURLConnection和AsyncHttpClient的...

    使用HttpURLConnection进行网络编程

    在Android开发中,网络编程是不可或缺的一部分,而`HttpURLConnection`是Java标准库提供的一种用于HTTP通信的API,它在Android SDK中也被广泛使用。相较于旧的`HttpClient`,`HttpURLConnection`更轻量级、更高效,...

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

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

    Android网络连接2——HttpURLConnection

    在Android应用开发中,网络连接是必不可少的一部分,用于获取服务器数据、更新应用内容或与远程服务交互。在本文中,我们将深入探讨`HttpURLConnection`,它是Android系统中用于HTTP通信的一种标准API。`...

    Java HttpURLConnection使用方法详解

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

    Android网络请求框架基于HttpUrlConnection的封装

    在Android应用开发中,网络请求是必不可少的一部分,用于获取服务器数据、更新UI或者进行其他交互。本篇文章将深入探讨如何基于HttpUrlConnection实现一个自定义的网络请求框架。HttpUrlConnection是Android系统提供...

    A0803使用HttpURLConnection访问网络1

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

    Android中HttpURLConnection与HttpClient的使用与封装

    - 设置连接超时和读取超时,以防止长时间无响应。 - 获取`InputStream`,并用`BufferedReader`读取服务器返回的数据。 - 在读取完成后,记得关闭连接。 **2.2 POST方式** - 与GET类似,首先创建URL和...

    带有请求超时设置的soap jar包

    本文将详细讲解如何在Java环境中,通过自定义的jar包来处理SOAP请求的超时设置。 首先,`带有请求超时设置的soap jar包`意味着这个jar包已经经过了修改,允许开发者为SOAP请求指定一个自定义的超时时间。默认情况下...

    Android中ImageView使用网络图片资源的方法

    在主Activity的`onCreate`方法中,我们创建了一个ImageView对象,设置了其布局,并通过`getHttpBitmap`方法获取网络图片,然后将其设置到ImageView上显示。 需要注意的是,直接在主线程中进行网络操作会阻塞UI,...

    HttpURLConnectionTest.rar_HttpURLConnection

    为了防止应用程序因网络延迟而阻塞,可以设置连接和读取超时: ```java connection.setConnectTimeout(5000); // 5秒连接超时 connection.setReadTimeout(10000); // 10秒读取超时 ``` `HttpURLConnectionTest...

    HttpUrlConnection实例

    3. **设置连接属性**:可能需要设置超时时间,如读取超时和连接超时。 ```java connection.setConnectTimeout(5000); connection.setReadTimeout(5000); ``` 4. **开启请求**:这会建立实际的网络连接。 ```java ...

Global site tag (gtag.js) - Google Analytics