• HttpUtil


    //包再百度云盘  httpcomponents-client-4.5.5

    package com.baidu.httpuntil;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URI;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;

    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.HttpStatus;
    import org.apache.http.NameValuePair;
    import org.apache.http.StatusLine;
    import org.apache.http.client.HttpClient;
    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.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.protocol.HTTP;
    import org.apache.http.util.EntityUtils;
    //import org.apache.log4j.Logger;

    /**
    * HttpClient工具类
    */
    public class HttpUtil {

    //private static Logger logger = Logger.getLogger(HttpUtil.class);

    /**
    * get请求
    * @return
    */
    public static String doGet(String url) {
    try {
    HttpClient client = new DefaultHttpClient();
    //发送get请求
    HttpGet request = new HttpGet(url);
    HttpResponse response = client.execute(request);

    /**请求发送成功,并得到响应**/
    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
    /**读取服务器返回过来的json字符串数据**/
    String strResult = EntityUtils.toString(response.getEntity());

    return strResult;
    }
    }
    catch (IOException e) {
    e.printStackTrace();
    }

    return null;
    }

    /**
    * post请求(用于key-value格式的参数)
    * @param url
    * @param params
    * @return
    */
    public static String doPost(String url, Map params){

    BufferedReader in = null;
    try {
    // 定义HttpClient
    HttpClient client = new DefaultHttpClient();
    // 实例化HTTP方法
    HttpPost request = new HttpPost();
    request.setURI(new URI(url));

    //设置参数
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    for (Iterator iter = params.keySet().iterator(); iter.hasNext();) {
    String name = (String) iter.next();
    String value = String.valueOf(params.get(name));
    nvps.add(new BasicNameValuePair(name, value));

    //System.out.println(name +"-"+value);
    }
    request.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8));

    HttpResponse response = client.execute(request);
    int code = response.getStatusLine().getStatusCode();
    if(code == 200){ //请求成功
    in = new BufferedReader(new InputStreamReader(response.getEntity()
    .getContent(),"utf-8"));
    StringBuffer sb = new StringBuffer("");
    String line = "";
    String NL = System.getProperty("line.separator");
    while ((line = in.readLine()) != null) {
    sb.append(line + NL);
    }

    in.close();

    return sb.toString();
    }
    else{ //
    System.out.println("状态码:" + code);
    return null;
    }
    }
    catch(Exception e){
    e.printStackTrace();

    return null;
    }
    }

    /**
    * post请求(用于请求json格式的参数)
    * @param url
    * @param params
    * @return
    */
    public static String doPost(String url, String params) throws Exception {

    CloseableHttpClient httpclient = HttpClients.createDefault();
    HttpPost httpPost = new HttpPost(url);// 创建httpPost
    httpPost.setHeader("Accept", "application/json");
    httpPost.setHeader("Content-Type", "application/json");
    String charSet = "UTF-8";
    StringEntity entity = new StringEntity(params, charSet);
    httpPost.setEntity(entity);
    CloseableHttpResponse response = null;

    try {

    response = httpclient.execute(httpPost);
    StatusLine status = response.getStatusLine();
    int state = status.getStatusCode();
    if (state == HttpStatus.SC_OK) {
    HttpEntity responseEntity = response.getEntity();
    String jsonString = EntityUtils.toString(responseEntity);
    return jsonString;
    }
    else{
    //logger.error("请求返回:"+state+"("+url+")");
    System.out.println("请求返回:"+state+"("+url+")");
    }
    }
    finally {
    if (response != null) {
    try {
    response.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    try {
    httpclient.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return null;
    }

    }

  • 相关阅读:
    Redis
    vscode
    uget + aria2
    Nodejs 安装
    NPM
    ?Swift获取手机设备信息
    C语言的32个关键字
    MVC-Html.Label(TextBox、TextArea、RadioButton、CheckBox)
    常用正则表达式
    MVC-Razor引擎布局
  • 原文地址:https://www.cnblogs.com/sss-justdDoIt/p/9196542.html
Copyright © 2020-2023  润新知