java - Resty - IllegalArgumentException 与 | URL 中的字符

标签 java api rest url

我使用 Resty 客户端来处理 Facebook REST API。问题是我想使用“|” Facebook token 中的字符与文档中的一样:

https://graph.facebook.com/800309809778160/permissions?access_token=861093975893683|t5r-lFvnrsEQ_xTtUsdMuiEdFdsdE

当我将此 URL 粘贴到浏览器时 - 工作正常。但是当我使用 Resty 执行此操作时,(new Resty().text(url)) 会抛出异常:

Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in query at index 83: https://graph.facebook.com/800309809778160/permissions?access_token=861093975893683|t5r-lFvnrsEQ_xTtUsdMuiEdFdsdE
    at java.net.URI.create(URI.java:852)
    at us.monoid.web.Resty.text(Resty.java:271)

我想知道是否应该使用另一个 REST 客户端(例如 HTTPUrlConnection 或 Rapa),或者原因在其他地方。

最佳答案

您需要对 url 中的特殊字符进行编码,例如“&”、“?”及其编码值

instead of "|" pass "%7C" in url

检查http://www.w3schools.com/tags/ref_urlencode.asp处字符编码值的完整列表

关于java - Resty - IllegalArgumentException 与 | URL 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32349609/

相关文章:

java - Gmail REST API : 400 Bad Request + Failed Precondition

java - netbeans:Class.forName 中的类路径

java - 无法使用 kundera 将继承的实体持久保存到 Hbase

java - 当对象 `A` 更改时更新对象 `B` - Android 编程

java - java中电影名称的字符串过滤

ios - 无法将值存储到全局数组 SWIFT 中

Angular/YouTube API - 拒绝显示 : in a frame because it set 'X-Frame-Options' to 'sameorigin

javascript - 从rest服务获取JSON字符串到js

php - 记录 API 调用

java - 如果有多种可能性,我应该分配什么类型?