博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Http的Get/Post请求带有特殊字符,400 Bad Request解决方案
阅读量:2223 次
发布时间:2019-05-08

本文共 768 字,大约阅读时间需要 2 分钟。

今天做项目的时候,需要向服务器接口 传递 json参数,使用 apache 的 httpclient,当时没有对参数做特殊处理直接提交了,结果运行时报错了,如下:

HTTP 400 Bad Request

后来在网上查资料找到原因了:HttpGet或 HttpPost都不能传包含 ” 、“{“、”}”这样的参数,需要对特殊字符进行转义,把 ” 转成%22,把 { 转成%7b,把 } 转成%7d

MsgResult msgResult = new MsgResult(1,"成功","我是正文内容");        Gson gson = new Gson();        String gsonStr = gson.toJson(msgResult);        //特殊字符进行转义         gsonStr = gsonStr.replace("\"", "%22")                .replace("{", "%7b").replace("}", "%7d");        Observable observable = webService_tomcat.insertJsonString(MethodName_MainHome,gsonStr);        observable.subscribeOn(Schedulers.io())                .unsubscribeOn(Schedulers.io())                .observeOn(AndroidSchedulers.mainThread())                .subscribe(observer);

注意:参数里面如果有 空格的话,也需要转义,否则会有问题。

转载地址:http://rcxfb.baihongyu.com/

你可能感兴趣的文章
Spring源码剖析6:Spring AOP概述
查看>>
分布式系统理论基础1: 一致性、2PC和3PC
查看>>
分布式系统理论基础2 :CAP
查看>>
分布式系统理论基础3: 时间、时钟和事件顺序
查看>>
分布式系统理论基础4:Paxos
查看>>
分布式系统理论基础5:选举、多数派和租约
查看>>
分布式系统理论基础6:Raft、Zab
查看>>
分布式系统理论进阶7:Paxos变种和优化
查看>>
分布式系统理论基础8:zookeeper分布式协调服务
查看>>
搞懂分布式技术1:分布式系统的一些基本概念
查看>>
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法
查看>>
搞懂分布式技术3:初探分布式协调服务zookeeper
查看>>
搞懂分布式技术4:ZAB协议概述与选主流程详解
查看>>
搞懂分布式技术5:Zookeeper的配置与集群管理实战
查看>>
搞懂分布式技术6:Zookeeper典型应用场景及实践
查看>>
搞懂分布式技术10:LVS实现负载均衡的原理与实践
查看>>
搞懂分布式技术11:分布式session解决方案与一致性hash
查看>>
搞懂分布式技术12:分布式ID生成方案
查看>>
搞懂分布式技术13:缓存的那些事
查看>>
搞懂分布式技术14:Spring Boot使用注解集成Redis缓存
查看>>