Using URLFetchService / URL - Google appengine for java



I'm using URL Fetch Java APIhttp://code.google.com/appengine/docs/java/urlfetch/overview.html#Fet...但是,为了从 graph.facebook.com 那里获取信息,我不断得到错误:java.lang.IllegalArgumentException at java.net.URI.create(URI.java:842)...原因:java.net.URISyntax异常:查询中的非法字符位于索引 58: https://graph.facebook.com/me?access_token=...知道吗?

错误消息几乎说明了一切:您尝试获取的 URI 在索引 58 处包含一个非法字符。我也得到了你的URL的例外:

public static void main(String[] args) throws Exception {
    String s = "https://graph.facebook.com/me?access_token=593172238640599|e2a5e8bb8625b56358fe6219.1-530295086|zt7TYKmSF4e3WLWbF8jc7_P8MK8";
    URI uri = new URI(s);
}

抛出:

线程"main"中的异常 java.net.URISyntaxException: Illegal 索引 58 处查询中的字符: https://graph.facebook.com/me?access_token=593172238640599|e2a5e8bb8625b56358fe6219.1-530295086|zt7TYKmSF4e3WLWbF8jc7_P8MK8 at java.net.URI$Parser.fail(URI.java:2809) 在 java.net.URI$Parser.checkChars(URI.java:2982) 在 java.net.URI$Parser.parseHierarchical(URI.java:3072) 在 java.net.URI$Parser.parse(URI.java:3014) 在java.net.URI。(URI.java:578)

位置 58 处的字符是"|"字符。您需要对此字符(及其其他出现情况)进行 URL 编码。

最新更新