url参数中带{、}、|、`、这些特殊字符导致400

0 0 java linux tomcat
aゞ特仑苏
aゞ特仑苏

声望值:97 0人

2019-02-21 14:24:30 提问

关注 0关注

收藏 0收藏, 251浏览

对部署的一台服务器进行访问,访问链接参数中带{、}、|、`、这些字符串时返回400错误,同样的链接在其他服务器中不存在400的问题,求大腿解释一下这个问题
访问的链接(POST请求):http://220.196.52.29:9000/hzz-service/login/code?phone=18121145530&data={"version":"1.2.3","source":"iOS"}
去掉左右{}该访问就没问题了

请先 登录 后评论

2个回答

  • 暴力丶小白菜103声望 2018-09-25 09:26

    使用 encodeUriComponent 进行URL编码
    请先 登录 后评论
  • 攻城狮44声望 2018-09-25 09:26

    可以使用 encodeURIComponent 编码后再传输,后台再解码就行了 encodeURIComponent('{"version":"1.2.3","source":"iOS"}') // %7B%22version%22%3A%221.2.3%22%2C%22source%22%3A%22iOS%22%7D 解码 String ret = java.net.URLDecoder.decode("%7B%22version%22%3A%221.2.3%22%2C%22source%22%3A%22iOS%22%7D", "UTF-8"); System.out.println(ret); // {"version":"1.2.3","source":"iOS"}
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问