Java網絡請求工具類
Java網絡請求工具類(依賴:org.apache.http;注:HttpClient 4.4,HttpCore 4.4)
到此處可以去下載依賴包:http://hc.apache.org/downloads.cgi
import java.util.List;import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils;
/**
- HttpServletUtil *
- @author ysj
@Date: 2015-1-30 下午2:07:55 */ public class HttpServletUtil { private static CloseableHttpClient httpclient; private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build();
/**
- Post:訪問數據庫并返回數據字符串 *
- @param params
- 向服務器端傳的參數
- @param url
- @return String 數據字符串
@throws Exception */ public static String doPost(List<NameValuePair> params, String url) throws Exception { String result = null; httpclient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); //設置請求和傳輸超時時間 httpPost.setConfig(requestConfig); CloseableHttpResponse httpResp = httpclient.execute(httpPost); try {
int statusCode = httpResp.getStatusLine().getStatusCode(); // 判斷是夠請求成功 if (statusCode == HttpStatus.SC_OK) { System.out.println("狀態碼:" + statusCode); System.out.println("請求成功!"); // 獲取返回的數據 result = EntityUtils.toString(httpResp.getEntity(), "UTF-8"); } else { System.out.println("狀態碼:" + httpResp.getStatusLine().getStatusCode()); System.out.println("HttpPost方式請求失敗!"); }
} finally {
httpResp.close(); httpclient.close();
} return result; }
/**
- Get:訪問數據庫并返回數據字符串 *
- @param url
- @return String 數據字符串
- @throws Exception
*/
public static String doGet(String url) throws Exception{
String result = null;
httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(url);
//設置請求和傳輸超時時間
httpGet.setConfig(requestConfig);
CloseableHttpResponse httpResp = httpclient.execute(httpGet);
try {
} finally {int statusCode = httpResp.getStatusLine().getStatusCode(); // 判斷是夠請求成功 if (statusCode == HttpStatus.SC_OK) { System.out.println("狀態碼:" + statusCode); System.out.println("請求成功!"); // 獲取返回的數據 result = EntityUtils.toString(httpResp.getEntity(), "UTF-8"); } else { System.out.println("狀態碼:" + httpResp.getStatusLine().getStatusCode()); System.out.println("HttpGet方式請求失敗!"); }
} return result; } }</pre>httpResp.close(); httpclient.close();