zoukankan      html  css  js  c++  java
  • httpclient之post 方法(参数为string)

    package httpclient;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import org.apache.http.*;
    import org.apache.http.client.ClientProtocolException;
    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.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;

    import org.json.JSONObject;

    /**
    * Created by jiangcui on 2018/5/18.
    */
    public class HttpclientPostForString {
    public static void main(String[] args) {
    CloseableHttpClient closeableHttpClient = HttpClients.createDefault();

    //配置超时时间
    RequestConfig requestConfig = RequestConfig.custom()
    .setConnectTimeout(5000)
    .setConnectionRequestTimeout(5000)
    .setSocketTimeout(5000)
    .setRedirectsEnabled(true)
    .build();
    HttpPost httpPost = new HttpPost("https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F");

    //设置超时时间
    httpPost.setConfig(requestConfig);

    //装配post请求参数

    List<NameValuePair> list = new ArrayList<NameValuePair>();
    list.add(new BasicNameValuePair("name", "jiangcui"));
    list.add(new BasicNameValuePair("password", "chenzx0918"));

    try {
    //将参数进行编码为合适的格式,如将键值对编码为param1=value1&param2=value2
    UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(list, "utf-8");
    httpPost.setEntity(urlEncodedFormEntity);

    //执行post方法
    CloseableHttpResponse closeableHttpResponse = closeableHttpClient.execute(httpPost);
    String strResult = "";

    if (null != closeableHttpResponse && !"".equals(closeableHttpResponse)) {
    System.out.println(closeableHttpResponse.getStatusLine().getStatusCode());
    if (closeableHttpResponse.getStatusLine().getStatusCode() == 200) {
    HttpEntity httpEntity = closeableHttpResponse.getEntity();
    strResult = EntityUtils.toString(httpEntity);
    System.out.println(strResult);
    //将字符串转换为 JSON格式
    JSONObject jsonObject = new JSONObject(strResult);
    //获取json串中的数据
    //String str = jsonObject.get("name").toString;

    } else {
    strResult = "Error Response:" + closeableHttpResponse.getStatusLine().getStatusCode();
    System.out.println(strResult);
    }
    }
    } catch (ClientProtocolException e) {
    e.printStackTrace();
    } catch (ParseException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (closeableHttpClient != null) {
    closeableHttpClient.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }
  • 相关阅读:
    从 0 → 1,学习Linux该这么开始!
    Web和移动开发的未来
    css-div中文字过多(内容超出div宽度)后自动换行
    js+css--单选按钮,自定义选中的颜色???(性别按钮,男女)
    css-按钮中有图片和文字,怎么才能让文字和图片都中??
    js-点出弹框后(除了点击窗口上的叉子),点其他地方能够关闭窗口???
    css-外面元素的高度,由里面的元素进行撑开(由内部的高度决定)
    js-将传来的数据排序,让(全部)这个小按钮小圈圈,始终排列在最前面
    echart--如何在折线图上添加矩形背景(可以借用bar柱状图的实现效果)
    echart-如何将x轴和y轴的原点进行重合???
  • 原文地址:https://www.cnblogs.com/jshtest/p/9070687.html
Copyright © 2011-2022 走看看