zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    处理字符串拼接成想要的数组
    json 压缩中文不转码
    MySQL主从同步机制及同步中的问题处理
    mysql主从复制亲测,以及注意事项
    windows下mysql和linux下mysql主从配置
    拯救U盘之——轻松修复U盘“无法访问”的故障
    MUI框架开发HTML5手机APP(一)--搭建第一个手机APP
    UI之富文本编辑器-UEditor
    弹性布局详解——5个div让你学会弹性布局
    内置函数:min 用法
  • 原文地址:https://www.cnblogs.com/ysjshrine/p/4323375.html
Copyright © 2011-2022 走看看