地址栏传参,加密参数中特殊字符处理问题

在项目A中通过get请求项目B,在地址栏中传送加密参数过去,由于参数中含有(/   =)等特殊字符,所以项目B无法获取到正确的值

eg:http://localhost:8080/B?a=BCrM/R4AA69r3o3PzIUrPQ==

项目B在request中获取到的是  a=BCrM;R4AA69r3o3PzIUrPQ

解决方法:

项目A中对参数加密后再进行一次转义

URLEncoder.encode("BCrM/R4AA69r3o3PzIUrPQ==","utf-8")

转义后得到:X74XKImxXtxoOirDT6EC6g%3D%3D

新请求地址:http://localhost:8080/B?a=X74XKImxXtxoOirDT6EC6g%3D%3D

项目B获取参数后进行

URLDecoder.decode(“X74XKImxXtxoOirDT6EC6g%3D%3D”,"utf-8");

你可能感兴趣的:(地址栏传参,加密参数中特殊字符处理问题)