作者:沫cc乀纱蔓 | 来源:互联网 | 2023-08-31 16:25
我正在尝试 GET 对 API 的请求,但一个特殊字符“*”(星号)中断了我的 API 调用,因此它发送的不完整。有什么办法可以逃脱吗?
取而代之的是:
https://rest2.bermanngps.cl/BermannRest/api/enviacomando?tk=3cf40d35c4e48b60e007cdc85f1342f5&comando=%24SRVFFFFFF%2C25%2C1*8F&md5pass=4e1ed8ef96fb83a0a30c39b0019fadc7&user=1017&avserie=12977
https://rest2.bermanngps.cl/BermannRest/api/enviacomando?tk=3cf40d35c4e48b60e007cdc85f1342f5&comando=%24SRVFFFFFF%2C25%2C1*8F&md5pass=4e1ed8ef96fb83a0a30c39b0019fadc7&user=1017&avserie=12977
这是发送:
https://rest2.bermanngps.cl/BermannRest/api/enviacomando?tk=3cf40d35c4e48b60e007cdc85f1342f5&comando=%24SRVFFFFFF%2C25%2C1
我正在使用改造的 GET 请求方法,使用存储库动态加载查询字符串。我将如何在那里使用 URLEncoder 方法?
回答
您可以为此使用 URLEncoder 类。所以你需要使用 URLEncoder 对 URL 中的查询部分进行编码。
String query = URLEncoder.encode("tk=3cf40d35c4e48b60e007cdc85f1342f5&comando=%24SRVFFFFFF%2C25%2C1*8F&md5pass=4e1ed8ef96fb83a0a30c39b0019fadc7&user=1017&avserie=12977", "utf-8");
String url = "https://rest2.bermanngps.cl/BermannRest/api/enviacomando?" + query;