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


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请求
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM