HttpClient 中的get, post使用示例
阿新 • • 發佈:2018-12-30
一、Get
示例程式碼
public static void test_httpClient_get(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/testget“;
httpClient = new DefaultHttpClient(); //連線超時設定,單位毫秒 httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000); //讀取超時, 單位毫秒 httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000); String param1 = "param_"; String param2 = "param2"; //如果不需要傳遞引數,直接使用 HttpGet httpGet = new HttpGet(url)即可。 List<NameValuePair> list = new ArrayList<NameValuePair>(); list.add(new BasicNameValuePair("param1", param1)); list.add(new BasicNameValuePair("param2", param2)); String getParams = EntityUtils.toString(new UrlEncodedFormEntity(list, HTTP.UTF_8)); HttpGet httpGet = new HttpGet(url + "?" + getParams); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity entity = httpResponse.getEntity(); if (entity != null) { Charset respCharset = ContentType.getOrDefault(entity).getCharset(); String respData = EntityUtils.toString(entity, respCharset); //此處還可以根據狀態判斷返回值,略 renderText(respData); } else { renderText("entity is null"); } }catch (Exception e) { e.printStackTrace(); renderText("error" + e.toString()); } finally { if (httpClient != null){ httpClient.getConnectionManager().shutdown(); } } }
二、Post
示例程式碼
public static void test_httpClient_post(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/“;
httpClient = new DefaultHttpClient();
//連線超時設定,單位毫秒 httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000); //讀取超時, 單位毫秒 httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000); String param1 = "post_param1"; String param2 = "post_param2"; List<NameValuePair> list = new ArrayList<NameValuePair>(); list.add(new BasicNameValuePair("param1", param1)); list.add(new BasicNameValuePair("param2", param2)); HttpPost httpPost = new HttpPost(url); //如果不帶引數,以下可略 HttpEntity paramEntity = new UrlEncodedFormEntity(list, "UTF-8"); httpPost.setEntity(paramEntity); //執行 HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity entity = httpResponse.getEntity(); if (entity != null) { //狀態,該狀態可用於判斷,此處略 System.out.println("resp_status:" + httpResponse.getStatusLine().getStatusCode()); Charset respCharset = ContentType.getOrDefault(entity).getCharset(); String respData = EntityUtils.toString(entity, respCharset); renderText("status:" + httpResponse.getStatusLine().getStatusCode() + "\r\n" + respData); } else { renderText("entity is null"); } }catch (Exception e) { e.printStackTrace(); renderText("error" + e.toString()); } finally { if (httpClient != null){ httpClient.getConnectionManager().shutdown(); } } }