首页 > 编程语言 >使用JAVA代码实现POST发送application/x-www-form-urlencoded请求

使用JAVA代码实现POST发送application/x-www-form-urlencoded请求

时间:2022-10-02 23:22:23浏览次数:37  
标签:www JAVA String form headers application httpPost new

前言

在实际开发过程中,我们经常是使用的POST发送application/json;charset=utf-8格式请求,但是有时候接口会设计成application/x-www-form-urlencoded,这就需要我们随机应变,改变请求方式,重新设计工具代码,这里贴出我在工作中使用的代码以供参考。

    public static String postWithParamsForString(String url, HashMap<String, String> headers) {

        List<NameValuePair> params = new ArrayList<>();
        HttpClient client = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(url);
        String msg = "";
        try {
            if (headers != null && headers.size() != 0) {
                for (Map.Entry<String, String> entry : headers.entrySet()) {
                    params.add(new NameValuePair() {
                        @Override
                        public String getName() {
                            return entry.getKey();
                        }

                        @Override
                        public String getValue() {
                            return entry.getValue();
                        }
                    });
                }
            }
            httpPost.setEntity(new UrlEncodedFormEntity(params, StandardCharsets.UTF_8));
            httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
            HttpResponse response = client.execute(httpPost);
            int statusCode = response.getStatusLine().getStatusCode();
            if (HttpURLConnection.HTTP_OK == statusCode) {
                HttpEntity entity = response.getEntity();
                msg = EntityUtils.toString(entity);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return msg;
    }

参数使用    HashMap<String, String> headers,需要大家将参数放置进新建的map中、map作为JAVA开发中重要的接口,需要重点掌握。

新建公众号,欢迎互关,共同进步。

标签:www,JAVA,String,form,headers,application,httpPost,new
From: https://www.cnblogs.com/dajiangyang/p/16749747.html

相关文章

  • 归并排序Java
    归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。其思想为:分解:分解待排序的n个元素的序列成各具n/2个元......
  • 力扣532(java)-数组中的 k-diff 数对(中等)
    题目:给你一个整数数组 nums和一个整数 k,请你在数组中找出不同的 k-diff数对,并返回不同的k-diff数对的数目。k-diff 数对定义为一个整数对(nums[i],nums[j])......
  • Java遍历文件夹
    Java遍历文件夹简单写了一个打印目录下所有文件以及文件夹的代码,类比于树的遍历,写了深度优先和广度优先的遍历。并且还写了个JDK1.7接口提供的的版本。深度广度遍历都用......
  • 9月30Java类与对象中动手动脑
    类与对象定义了一组大体相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性对象则是类的具体化,是类的实例。类通过派生类可以有子类,同样也可以有父类,形......
  • java学习之:类和对象、语句块、方法、递归结构!
    语句块和方法语句块语句块确定了局部变量的作用域。语句块嵌套,但是不能在两个嵌套的块内声明同名的变量。语句块可以使用语句块外的变量,语句块中定义的变量作用域只限于语句......
  • javascript>=和<=
    一个条件都不满足为false,至少满足一个条件为truevara=10console.log(a>10);//false;console.log(a<10);//false;console.log(a==10);//trueconsole.log(a>=10);//true1......
  • 【Java】01基础-05 方法
    1.方法概述1.1方法的概念方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不......
  • 【Java】01基础-04数组
    1.数组1.1数组介绍数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。1.2数组的定义格式1.2.1第一种格式数据类型[]数组名示例:int[]arr;double[]......
  • Java设计模式 —— 原型模式
    7原型模式7.1原型模式概述PrototypePattern:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。原型模式的工作原理:将一个原型对象传给创建......
  • 试验:Java字段初始化的规律
    packagetest2;publicclassInitializeBlockDemo{ /** *@paramargs */ publicstaticvoidmain(String[]args){ InitializeBlockClassobj=newIni......