JAVA POST请求

/**
     * * 向指定 URL 发送POST方法的请求 * * @param url 发送请求的 URL * @param param 请求参数,请求参数应该是
     * name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果
     */
    public static String sendPost(String url, String param, Map<String, String> headMap) {
        logger.info("请求地址:" + url);
        logger.info("请求参数:" + param);
        OutputStreamWriter out = null;
        BufferedReader in = null;
        String result = "";
        if (StringUtils.isNotBlank(url)) {
            try {
                URL realUrl = new URL(url);
                // 打开和URL之间的连接
                URLConnection connection = realUrl.openConnection();
                // 设置通用的请求属性
                connection.setRequestProperty("accept", "*/*");
                connection.setRequestProperty("connection", "Keep-Alive");
                connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
                if (null != headMap && headMap.size() > 0) {
                    for (Map.Entry<String, String> entry : headMap.entrySet()) {
                        connection.setRequestProperty(entry.getKey(), entry.getValue());
                    }
                }
                // 发送POST请求必须设置如下两行
                connection.setDoOutput(true);
                connection.setDoInput(true);
                // 获取URLConnection对象对应的输出流
                out = new OutputStreamWriter(connection.getOutputStream(), "utf-8");
                // 发送请求参数
                if (null != param) {
                    out.write(param);
                }
                // flush输出流的缓冲
                out.flush();
                // 定义BufferedReader输入流来读取URL的响应
                in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
            } catch (Exception e) {
                logger.info("HTTP_LOG_INFO:" + e);
            } finally {
                // 使用finally块来关闭输出流、输入流
                try {
                    if (in != null) {
                        in.close();
                    }
                    if (out != null) {
                        out.close();
                    }
                } catch (IOException ex) {
                    logger.info("HTTP_LOG_INFO:" + ex);
                }
            }
        }
        logger.info("post请求返回值:" + result);
        return result;
    }
// 访问post 传值
Map<String, String> headerParameters = new HashMap<String, String>(4);
// 此处为旗县端6位行政区代码
headerParameters.put("dwdm", "123456");
String data = "123";
logger.info("请求信息:" + data);
// 此处传省厅接管接口地址  url是请求地址,data是请求参数,headerParameters是请求头
String result = sendPost(url, data, headerParameters);
logger.info("返回信息:" + result);
if (StringUtils.isNotEmpty(result)) {
// 此处使用旗县端登记系统私钥进行解密
logger.info("返回信息:" + result);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容