Java发送HTTP请求的坑

December 25, 2019 · 默认分类 · 754次阅读

坑1

特殊字符编码问题,对于链接中有特殊字符的参数必须进行encode,不然会报400错误
比较好的写法:

       String param="";
        StringBuffer sf = new StringBuffer();
        for (HashMap.Entry entry:hashMap.entrySet()
             ) {
            String[] arrStr= new String[0];
            try {
                arrStr = new String[]{entry.getKey().toString(), 
                java.net.URLEncoder.encode(entry.getValue().toString(),"utf-8")};
                System.out.println(arrStr.toString());
            } catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }

            String paramString = "&"+param.join("=",arrStr);
            sf.append(paramString);
        }

=====

坑2

java中用于编码的包有两个,一个是java.net下的URLencoder,一个是org.sun.xxxx下的URLencoder,两个类下的encode方法参数都一样,我之前开始使用的sun下的包,结果死活不行,还不报错,坑的一批。

标签:none

最后编辑于:2019/12/25 19:46

添加新评论

  1. 2019-12-25 20:51

    总结的很棒!有空回踩鸭!

    回复
  2. 2019-12-26 14:26

    回复
  3. 2020-09-20 20:23

    online slots play casino online casino games http://onlinecasinouse.com/#

    回复

控制面板