首页 期权学习期权知识正文

Android HttpClient如何使用发起GET或者POST请求

xiaojiucai 期权知识 2020-08-17 814 0

这里只介绍如何使用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();  

}

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();  

}

原文链接:https://www.qiquanji.com/post/8464.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。