【发布时间】:2019-07-24 14:31:53
【问题描述】:
我在登录我的移动应用程序时尝试对用户名和密码进行编码。我正在连接到现有的 API,并且应该发送编码的用户名和密码。我正在使用使用 UTF_8 的 URLEncoder,但它似乎正在编码大多数特殊字符。我正在将编码的字符串与 Postman 编码的字符串进行比较(这是正确的版本)。
这是我的代码:
URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
对于字符串~!@#$%^&*()_+{}|:?"`[]\;',./
在邮递员中它被编码为
~!%40%23%24%25%5E%26*()_%2B%7B%7D%7C%3A%3C%3E%3F%22%60%5B%5D%5C%3B'%2C.%2F
在我的应用中,它被编码为
%7E%21%40%23%24%25%5E%26*%28%29_%2B%7B%7D%7C%3A%3C%3E%3F%22%60%5B%5D%5C%3B%27%2C.%2F
如您所见,它正在编码大多数特殊字符(例外是 ._*)
【问题讨论】: