java - 使用 Retrofit 在查询参数中转义排序

标签 java android retrofit

我正在使用 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/

相关文章:

java - MigLayout JLabel 超出限制

android - 适用于 Android 的 Gradle 跨平台构建脚本

android - 是什么让改造比 HttpUrlConnection + AsyncTask 更快?

android - 如何使用 Retrofit OkHttpClient 保持 session

java - Java中@@之间的正则表达式匹配字符串

java - GridBagLayout 对齐不应该的列

java - spring 如何允许延迟加载?

android - 设备上异常的 HttpHostConnectException

android - Activity UI 元素未显示

android - 如何在Android中检查Retrofit API调用是否成功