问答详情
源自:3-2 自定义菜单(下)

Caused by: java.net.URISyntaxException: Illegal character in query at index 93: https://..

在测试类中运行时报这样的错误,仔细看过url了,发现并没有什么错误啊。希望老师能把在视频中讲的源代码发一份,已经发的源代码和视频里讲的有些区别

提问者:qq_黯夜无风_0 2015-06-04 15:59

个回答

  • j_a_n_v_i
    2016-01-03 14:57:33

    网上不是有吗

    java.net.URISyntaxException: Illegal character in query at index 44

     

    查找了一些网上资料,说地址中涉及了特殊字符,如‘|’‘&’等。所以不能直接用String代替URI来访问。必须采用%0xXX方式来替代特殊字符。但这种办法不直观。所以只能先把String转成URL,再能过URL生成URI的方法来解决问题。代码如下

    URL url = new URL(strUrl);URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null);
    HttpClient client    = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(uri);


  • Mefa
    2015-06-04 16:50:10

    确定url没错的话,建议检查下处理post请求的方法中对请求体的字符串编码是否正确