我使用Resty客户端来处理Facebook REST API。问题是我要使用“ |”文档中的Facebook令牌中的字符:

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中编码特殊字符,例如“&”,“?”及其编码值


  代替“ |”在网址中传递“%7C”


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

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

10-10 13:17