我正在使用 Retrofit 1.9,并尝试从 Yahoo API 检索数据。正如 REST 查询链接所述,所有空格都转换为 ASCII 值,我创建了一个类似的字符串
字符串查询 =“select%20*%20from”
并将其作为查询参数传递。
但是当发送请求时,我观察到链接中的 %
再次转换为相应的 ASCII 值 %25
,导致请求 URL 更改为 select%2520*%2520from
。
我尝试将字符串本身中的 %
转义为 String query = "select\%20*%20from"
但显示错误“字符串文字中的非法转义字符”。
我找不到任何相关资源来解决这个问题。我也不确定这是否是正确的方法。请告知该问题的解决方案以及正确的方法(如果有的话,除此之外)。
最佳答案
看看这个问题。 Is a URL allowed to contain a space? 。 所以基本上尝试用+号对空间进行编码。
关于java - 使用 Retrofit 在查询参数中转义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527520/