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