我正在使用客户端的浏览器提交HTTP请求。 对于报告生成,securityToken以POST形式提交,对于报告下载,用户浏览器需要提交相同的令牌,这次使用GET。
您建议对实际代表加密数据的securityToken使用什么编码。
我已经尝试过BASE64,但这失败了,因为standard可以包含“+”字符,该字符在HTTP GET中被转换为''(空格)。
然后我尝试了URL编码,但这失败了,因为对于HTTP POST,诸如%3d的内容在没有翻译的情况下传输,但是当浏览器执行HTTP GET时,数据%3d 被转换为'='。
您建议使用什么编码,以便通过HTTP POST& amp; GET没有数据被误解。
环境是Java,Tomcat。
谢谢你, 格言。
答案 0 :(得分:2)
十六进制字符串。
Apache commons-codec有一个Hex类,提供此功能。
它看起来像这样: http://youraddress.com/context/servlet?param=ac7432be432b21
答案 1 :(得分:1)
好吧,你可以保留Base64并使用这个解决方案: Code for decoding/encoding a modified base64 URL