码迷,mamicode.com
首页 > 移动开发 > 详细

httpclient模拟post(applecation/x-www-form-urlencoded方式)请求

时间:2019-10-15 19:22:55      阅读:800      评论:0      收藏:0      [点我收藏+]

标签:code   pcl   api   pair   build   span   amt   cname   trace   

http post请求工具类:

/**
     * 非json参数方式POST提交
     *
     * @param url
     * @param params
     * @return
     */
    public static String httpPost(String uri, List<NameValuePair> params) {
        String result = "";
        try {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            HttpPost httpPost = new HttpPost(uri);
            httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); // 添加请求头
            httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
            System.out.println(httpPost);
            HttpResponse response = httpclient.execute(httpPost);
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                InputStream instreams = entity.getContent();
                result = convertStreamToString(instreams);
                System.out.println(result);
            }
        } catch (Exception e) {
            e.getMessage();
        }
        return result;
    }


    public static String convertStreamToString(InputStream is) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }

请求数据组装:

  public R authenticationInfo(AuthenticationInfoEntity authenticationInfo) {


        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
        nvps.add(new BasicNameValuePair("apiCode", "P203"));
        nvps.add(new BasicNameValuePair("account", "demo"));
        nvps.add(new BasicNameValuePair("password", "UGFpbGllQDIwMTk="));
        nvps.add(new BasicNameValuePair("name", authenticationInfo.getAiFullName()));
        nvps.add(new BasicNameValuePair("cid", authenticationInfo.getAiIdCard()));
        nvps.add(new BasicNameValuePair("bankCard", authenticationInfo.getAiBankAccount()));
        nvps.add(new BasicNameValuePair("mobile", authenticationInfo.getAiMobile()));

        String jsonStr = httpPost(uri, nvps); //post请求
}

 

httpclient模拟post(applecation/x-www-form-urlencoded方式)请求

标签:code   pcl   api   pair   build   span   amt   cname   trace   

原文地址:https://www.cnblogs.com/H-Dream/p/11679291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!