使用URLFetch服务/ URL - 适用于java的Google应用引擎

时间:2011-05-19 07:09:16

标签: java google-app-engine httprequest

我正在使用URL Fetch Java API http://code.google.com/appengine/docs/java/urlfetch/overview.html#Fet ... 从graph.facebook.com获取信息,然而,我一直在获取 错误: java.lang.IllegalArgumentException异常         在java.net.URI.create(URI.java:842) ... 引起:java.net.URISyntaxException:查询中的非法字符 索引58:https://graph.facebook.com/me?access_token= ...... 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

错误消息几乎说明了一切:您尝试获取的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:非法   索引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编码。