这里只介绍如何使用HttpClient发起GET或者POST请求
?
?
GET 方式
?
?
- //先将参数放入List,再对参数进行URL编码 ??
- List<BasicNameValuePair>?params?=?new?LinkedList<BasicNameValuePair>(); ??
- params.add(new?BasicNameValuePair("param1",?"中国")); ??
- params.add(new?BasicNameValuePair("param2",?"value2")); ??
- ??
- //对参数编码 ??
- String?param?=?URLEncodedUtils.format(params,?"UTF-8"); ??
- ??
- //baseUrl??????????? ??
- String?baseUrl?=?"http://ubs.free4lab.com/php/method.php"; ??
- ??
- //将URL与参数拼接 ??
- HttpGet?getMethod?=?new?HttpGet(baseUrl?+?"?"?+?param); ??
- ???????????? ??
- HttpClient?httpClient?=?new?DefaultHttpClient(); ??
- ??
- try?{ ??
- ????HttpResponse?response?=?httpClient.execute(getMethod);?//发起GET请求 ??
- ??
- ????Log.i(TAG,?"resCode?=?"?+?response.getStatusLine().getStatusCode());?//获取响应码 ??
- ????Log.i(TAG,?"result?=?"?+?EntityUtils.toString(response.getEntity(),?"utf-8"));//获取服务器响应内容 ??
- }?catch?(ClientProtocolException?e)?{ ??
- ????//?TODO?Auto-generated?catch?block ??
- ????e.printStackTrace(); ??
- }?catch?(IOException?e)?{ ??
- ????//?TODO?Auto-generated?catch?block ??
- ????e.printStackTrace(); ??
- }??
//先将参数放入List,再对参数进行URL编码List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();params.add(new BasicNameValuePair("param1", "中国"));params.add(new BasicNameValuePair("param2", "value2"));//对参数编码String param = URLEncodedUtils.format(params, "UTF-8");//baseUrl String baseUrl = "http://ubs.free4lab.com/php/method.php";//将URL与参数拼接HttpGet getMethod = new HttpGet(baseUrl + "?" + param); HttpClient httpClient = new DefaultHttpClient();try { HttpResponse response = httpClient.execute(getMethod); //发起GET请求 Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码 Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容} catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace();} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();}?
?
?
POST方式
?
?
- //和GET方式一样,先将参数放入List ??
- params?=?new?LinkedList<BasicNameValuePair>(); ??
- params.add(new?BasicNameValuePair("param1",?"Post方法")); ??
- params.add(new?BasicNameValuePair("param2",?"第二个参数")); ??
- ???????????? ??
- try?{ ??
- ????HttpPost?postMethod?=?new?HttpPost(baseUrl); ??
- ????postMethod.setEntity(new?UrlEncodedFormEntity(params,?"utf-8"));?//将参数填入POST?Entity中 ??
- ???????????????? ??
- ????HttpResponse?response?=?httpClient.execute(postMethod);?//执行POST方法 ??
- ????Log.i(TAG,?"resCode?=?"?+?response.getStatusLine().getStatusCode());?//获取响应码 ??
- ????Log.i(TAG,?"result?=?"?+?EntityUtils.toString(response.getEntity(),?"utf-8"));?//获取响应内容 ??
- ???????????????? ??
- }?catch?(UnsupportedEncodingException?e)?{ ??
- ????//?TODO?Auto-generated?catch?block ??
- ????e.printStackTrace(); ??
- }?catch?(ClientProtocolException?e)?{ ??
- ????//?TODO?Auto-generated?catch?block ??
- ????e.printStackTrace(); ??
- }?catch?(IOException?e)?{ ??
- ????//?TODO?Auto-generated?catch?block ??
- ????e.printStackTrace(); ??
- }??
//和GET方式一样,先将参数放入Listparams = new LinkedList<BasicNameValuePair>();params.add(new BasicNameValuePair("param1", "Post方法"));params.add(new BasicNameValuePair("param2", "第二个参数")); try { HttpPost postMethod = new HttpPost(baseUrl); postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中 HttpResponse response = httpClient.execute(postMethod); //执行POST方法 Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码 Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容 } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace();} catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace();} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();}?