android DefaultHttpClient 超时

来源:互联网 发布:淘宝联盟导购推广名称 编辑:程序博客网 时间:2024/06/06 08:30

昨天看了一篇HttpClient的设置超时时间,本来以为今天到公司就能把问题给解决了。结果发现DefaultHttpClient没有设置超时时间。然后继续寻找,终于发现了DefaultHttpClient怎么设置超时的了。

其实是在HttpConnectionParams里设置的。我自己写了一个继承DefaultHttpClient的类,以后使用用这个就行了:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. /**
  2. * 封装超时的HTTPclient
  3. * @author wangfeng
  4. * @date date 2013-12-20 09:30:26
  5. */ 
  6. public class MyHttpClientextends DefaultHttpClient{ 
  7.     /**
  8.      * 获取 HttpClient,主要是封装了超时设置
  9.      * @param rTimeOut 请求超时
  10.      * @param sTimeOut 等待数据超时
  11.      * @return
  12.      */ 
  13.     public DefaultHttpClient getHttpClient(int rTimeOut,int sTimeOut){ 
  14.         BasicHttpParams httpParams = new BasicHttpParams(); 
  15.         HttpConnectionParams.setConnectionTimeout(httpParams, rTimeOut); 
  16.         HttpConnectionParams.setSoTimeout(httpParams, sTimeOut); 
  17.         DefaultHttpClient client = new DefaultHttpClient(httpParams); 
  18.         return client; 
  19.     } 

如何使用:

 

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. HttpPost httpRequest =new HttpPost(validateUrl); 
  2.         //Post运作传送变数必须用NameValuePair[]阵列储存 
  3.  
  4.         //传参数 服务端获取的方法为request.getParameter("name") 
  5.  
  6.         List params=new ArrayList(); 
  7.         params.add(new BasicNameValuePair("username",userName)); 
  8.         params.add(new BasicNameValuePair("password",password));     
  9.         try
  10.             //发出HTTP request 
  11.             httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); 
  12.             //取得HTTP response 
  13.             HttpResponse httpResponse = null
  14.             try
  15.                 httpResponse=new MyHttpClient().getHttpClient(7000,7000).execute(httpRequest); 
  16.             }catch(Exception e){ 
  17.                 isNetError = true
  18.                 System.out.println("netError"); 
  19.             } 

 

 

转载:http://blog.csdn.net/howlaa/article/details/17437463

 

 

0 0
原创粉丝点击