postman form-data传参java实现

这篇具有很好参考价值的文章主要介绍了postman form-data传参java实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

postman form-data传参java实现,解决方案,java,开发语言

java实现:

    /**
     * form表单提交
     * @param url
     * @param map
     * @return
     */
    public static String doPostForm(String url, Map<String, Object> map) {
        String strResult = "";
        // 1. 获取默认的client实例
        CloseableHttpClient client = HttpClients.createDefault();
        // 2. 创建httppost实例
        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
        // 3. 创建参数队列(键值对列表)
        List<NameValuePair> paramPairs = new ArrayList<>();
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            Object val = map.get(key);
            paramPairs.add(new BasicNameValuePair(key, val.toString()));
        }
        UrlEncodedFormEntity entity;
        try {
            // 4. 将参数设置到entity对象中
            entity = new UrlEncodedFormEntity(paramPairs, "UTF-8");
            System.out.println("封装的参数:"+entity);
            // 5. 将entity对象设置到httppost对象中
            httpPost.setEntity(entity);
            // 6. 发送请求并回去响应
            CloseableHttpResponse resp = client.execute(httpPost);
            try {
                // 7. 获取响应entity
                HttpEntity respEntity = resp.getEntity();
                strResult = EntityUtils.toString(respEntity, "UTF-8");
            } finally {
                // 9. 关闭响应对象
                resp.close();
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 10. 关闭连接,释放资源
            try {
                client.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return strResult;
    }

第二种方式:

导入依赖:文章来源地址https://www.toymoban.com/news/detail-525945.html

  <!--httpclient-->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <version>4.5.8</version>
        </dependency>
        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
        </dependency>

    /**
     * @param params 非文件参数
     * @param url    请求地址
     * @param header 请求头信息(没有传null)
     * @return String
     **/
    public static String sendPostRequest(String url, Map<String, Object> params, Map<String, String> header) {
        try {
            PostMethod postMethod = new PostMethod(url);
            postMethod.setRequestHeader("Content-Type", AppConsts.CONTENT_TYPE_FORM + ";charset=" + AppConsts.ENCODING_UTF8);
            if (!CollectionUtils.isEmpty(header)){
                header.forEach(postMethod::setRequestHeader);
            }
            NameValuePair[] data = new NameValuePair[params.size()];
            int i = 0;
            for (String key : params.keySet()) {
                data[i] = new NameValuePair(key, params.get(key) == null ? "" : params.get(key).toString());
                i++;
            }

            postMethod.setRequestBody(data);

            HttpClient httpClient = new HttpClient();
            int response = httpClient.executeMethod(postMethod); // 执行POST方法
            String result = postMethod.getResponseBodyAsString();

            return result;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

到了这里,关于postman form-data传参java实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Okhttp实现参数请求接口用postman的form-data请求接口

    1.看下图,是不是这种访问方式 2.如果是这种访问方式,使用okhttp请求接口是这样的。

    2024年02月04日
    浏览(34)
  • postman上传文件(multipart/form-data请求)

    网页的form表单中,如果存在上传文件的表单,则需要将form标签设置enctype=\\\"multipart/form-data\\\"属性,意思是将Content-Type设置成multipart/form-data。 那么如何使用 postman发送 multipart/form-data请求呢? Content-Type: multipart/form-data; boundary= 表单中的 enctype 属性规定在发送到服务器之前应该如

    2024年02月02日
    浏览(45)
  • java发送form-data请求实现文件上传

    需要请求第三方接口上传文件,该请求类型是form-data请求   注意: 这里的 builder.addPart(\\\"sendfile\\\", new FileBody(file)); , multipartFile 对应form表单的字段名称。 参考:Java发送form-data请求实现文件上传_IceFloe_Rot的博客-CSDN博客

    2024年01月18日
    浏览(44)
  • Postman form-data、x-www-form-urlencoded的区别

    我们在平时的postman请求调试,以及web的http请求开发时,常常能看到以下几种传参的形式 form-data、x-www-form-urlencoded、raw、binary,那么这些请求方式的区别是什么呢? 1 、 form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开

    2024年01月24日
    浏览(33)
  • Java实现以form-data形式文件上传到服务器

    Java实现以form-data形式文件上传到服务器

    2024年02月13日
    浏览(42)
  • Content type ‘multipart/form-data;boundary=解决方案

    记录一个小问题 今天在用postman调试接口,发送请求的时候没进入断点就报错\\\" Content type \\\'multipart/form-data;boundary=--------------------------xxxxxxxxxxxxx;\\\" 当时我就纳了闷了,东研究西研究的找了半天原因。 最后找了一个老师傅,一眼就看出来问题了。因为接口是别人写的,我属于后面

    2024年02月15日
    浏览(40)
  • postman中 form-data、x-www-form-urlencoded、raw、binary的区别

    multipart/form-data:可以上传文件,以及表单键值对,最后会转化为一条信息; x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。 raw:可以上传任意格式的文本,可以上传text、json、xml、html等 1、form-data: 就是http请求中的 multipart/form-data ,它会将表单的数据处理为

    2024年03月24日
    浏览(31)
  • 使用postman发送请求,提示Content type ‘multipart/form-data not supported

    1、原因:后端通过@RequestBody 的方式接收参数,不能通过form-data方式传参,每一个请求必须是通过实体对象进行传参,需要改为使用json传参

    2024年01月22日
    浏览(40)
  • spring-boot 接收form表单 多文件加多字段数据(postman在form-data格式下传数组和集合)

    前言 该博客多用于记录自己的问题  在写项目的时候遇到这种业务情况: 需要保存整个页面的数据,数据包含 多个字段信息 和 多个文件  结合网上的处理思路,我最终实现了这种业务需求并整理一下 前端单独提交字段和文件比较方便简单,本人不太了解前端,既然前端说

    2024年02月03日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包