post字符 特殊字符处理【转】


     今天和同事调试接口,由于产品设计的问题,传递的参数没有做任何的限制。同事就在传参数的时候加了些特殊字符到后台,但是后台打印的日志是 null... 然后上网搜了下解决办法:转 https://www.cnblogs.com/panie2015/p/5885922.html

   

1)下面列出了一些URL特殊符号及编码十六进制值

  • +    URL 中+号表示空格             %2B 
  • 空格 URL中的空格可以用+号或者编码 %20 
  •  /    分隔目录和子目录  %2F   
  • ?     分隔实际的 URL 和参数 %3F 
  • %   指定特殊字符 %25 
  • #    表示书签 %23 
  • &    URL 中指定的参数间的分隔符 %26 
  • =    URL 中指定参数的值 %3D

 

   2)java 实现

    如果代码采用java 来访问请求的话,可以采用 URLEncoder.encode(param,"utf-8") 将参数值编码,对应的解码方法为URLEncoder.decode()

    java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s); 

    比如     

1
String str =  "http://localhost:8980/select?param="  + URLEncoder.encode( "bcpuser$userid$1#3#4" , "utf-8" ) ; <br>//得到结果  http://localhost: 8980 /BCPClientServer/select?param=bcpuser%24userid% 241 % 233 % 234

    得到url 可以直接在浏览器上访问,如果后台采用的java+ springMVC,可以直接得到预期的参数(无需再次解码的)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM