Android http请求数据 设置超时
2012-09-24 13:27
309 查看
以前一直在写http请求,设置超时也没怎么认真测试过,今天项目不怎么忙,写了一个http请求测了一下发现以前设置的超时根本没起作用,原来是在发送请求之后设置的超时时间,说着比较迷糊,还是直接上代码。
http请求代码:
其实执行请求就是client.execute(request);将设置超时放在执行之前就OK了,可以控制超时随心所欲了,以前一直没注意这个问题,看了一下以前的代码,有好几处写在了execute()之后,所以感觉上是控制时间老不对,其实走的超时是默认的超时!不知道童鞋们有没有遇到同样的问题!
http请求代码:
/** * http Post请求的过程 * @param postParameters:请求服务端接口需要的数据 * @param url:请求接口的地址 * @return result */ private static String requestPost(List<NameValuePair> postParameters,String url) { String result = null; BufferedReader in = null; try { HttpClient client = new DefaultHttpClient(); //Represents a collection of HTTP protocol and framework parameters HttpParams params = null; params = client.getParams(); //set timeout HttpConnectionParams.setConnectionTimeout(params, 5000); HttpConnectionParams.setSoTimeout(params, 35000); // url为访问地址 HttpPost request = new HttpPost(url); UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity( postParameters,"utf-8"); request.setEntity(formEntity); // 通过execute()执行httppost调用 HttpResponse response = client.execute(request); // 读取返回结果 in = new BufferedReader(new InputStreamReader(response.getEntity() .getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; // 换行操作 String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); result = sb.toString(); Log.d("返回数据", result); } catch (Exception e) { result = "NetError"; Log.i("Error", "Exception"+e.getMessage()); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
其实执行请求就是client.execute(request);将设置超时放在执行之前就OK了,可以控制超时随心所欲了,以前一直没注意这个问题,看了一下以前的代码,有好几处写在了execute()之后,所以感觉上是控制时间老不对,其实走的超时是默认的超时!不知道童鞋们有没有遇到同样的问题!
相关文章推荐
- android httpget httppost 请求,超时参数的设置
- Android http 请求 Json数据缓存到内存
- Android网络框架xUtils的Http网络数据请求操作
- android通过httpClient请求获取JSON数据并且解析
- Android HttpGet和HttpPost设置超时
- Android使用HttpURLConnection请求网络返回JSON数据并解析
- android通过httpClient请求获取JSON数据并且解析
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 【Android】【嘿!Java】Android工程、Java工程中通过HttpClient请求网络数据的不同方式
- android网络编程注意事项之一:移动网络下,防止网络超时甚至连接不上,解决办法--为网络请求设置代理
- jquery ajax请求数据超时设置
- Android使用HttpUrlConnection请求服务器发送数据详解
- Android在Http连接中设置超时和代理?
- 网络数据请求实践一:android-async-http实现下载和上传
- Android http连接设置超时无效
- android通过httpClient请求获取JSON数据并且解析
- android Http 网络超时,怎么设置
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- Android 通过HTTP POST请求互联网数据
- Android用httpURLConnection发送post网络请求并拿到数据