Java之网络请求工具类(依赖:org.apache.http;注:HttpClient 4.4,HttpCore 4.4)

到此处可以去下载依赖包:http://hc.apache.org/downloads.cgi 

 1 import java.util.List;

 2 

 3 import org.apache.http.HttpStatus;

 4 import org.apache.http.NameValuePair;

 5 import org.apache.http.client.config.RequestConfig;

 6 import org.apache.http.client.entity.UrlEncodedFormEntity;

 7 import org.apache.http.client.methods.CloseableHttpResponse;

 8 import org.apache.http.client.methods.HttpGet;

 9 import org.apache.http.client.methods.HttpPost;

10 import org.apache.http.impl.client.CloseableHttpClient;

11 import org.apache.http.impl.client.HttpClients;

12 import org.apache.http.util.EntityUtils;

13 

14 /**

15  * HttpServletUtil

16  *

17  * @author ysj

18  * @Date: 2015-1-30 下午2:07:55

19  */

20 public class HttpServletUtil {

21     private static CloseableHttpClient httpclient;

22     private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build();

23 

24     /**

25      * Post:访问数据库并返回数据字符串

26      * 

27      * @param params

28      *            向服务器端传的参数

29      * @param url

30      * @return String 数据字符串

31      * @throws Exception

32      */

33     public static String doPost(List<NameValuePair> params, String url) throws Exception {

34         String result = null;

35         httpclient = HttpClients.createDefault();

36         HttpPost httpPost = new HttpPost(url);

37         httpPost.setEntity(new UrlEncodedFormEntity(params));

38         //设置请求和传输超时时间

39         httpPost.setConfig(requestConfig);

40         CloseableHttpResponse httpResp = httpclient.execute(httpPost);

41         try {

42             int statusCode = httpResp.getStatusLine().getStatusCode();

43             // 判断是够请求成功

44             if (statusCode == HttpStatus.SC_OK) {

45                 System.out.println("状态码:" + statusCode);

46                 System.out.println("请求成功!");

47                 // 获取返回的数据

48                 result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");

49             } else {

50                 System.out.println("状态码:"

51                         + httpResp.getStatusLine().getStatusCode());

52                 System.out.println("HttpPost方式请求失败!");

53             }

54         } finally {

55             httpResp.close();

56             httpclient.close();

57         }

58         return result;

59     }

60 

61     /**

62      * Get:访问数据库并返回数据字符串

63      * 

64      * @param url

65      * @return String 数据字符串

66      * @throws Exception

67      */

68      public static String doGet(String url) throws Exception{

69         String result = null;

70         httpclient = HttpClients.createDefault();

71         HttpGet httpGet = new HttpGet(url);

72         //设置请求和传输超时时间

73         httpGet.setConfig(requestConfig);

74         CloseableHttpResponse httpResp = httpclient.execute(httpGet);

75         try {

76             int statusCode = httpResp.getStatusLine().getStatusCode();

77             // 判断是够请求成功

78             if (statusCode == HttpStatus.SC_OK) {

79                 System.out.println("状态码:" + statusCode);

80                 System.out.println("请求成功!");

81                 // 获取返回的数据

82                 result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");

83             } else {

84                 System.out.println("状态码:"

85                         + httpResp.getStatusLine().getStatusCode());

86                 System.out.println("HttpGet方式请求失败!");

87             }

88         } finally {

89             httpResp.close();

90             httpclient.close();

91         }

92         return result;

93      }

94 }

你可能感兴趣的:(httpclient)