Java URL在“[”方括号中被拆分

Java URL在“[”方括号中被拆分,java,android,url,Java,Android,Url,这是一个简单的问题,我被困了几个小时,url没有被完全占用,它被拆分如下: 这就是我在代码中使用的内容: String Url1 = Myservice.S_DELETE_LIBRARY_BOOK+"["+bookData.get(position).getBookId()+"]"+"&libraryId="+LibId+"&userId="+Uid; //did encoding and decoding for testing try { Url1

这是一个简单的问题,我被困了几个小时,url没有被完全占用,它被拆分如下:

这就是我在代码中使用的内容:

  String Url1 = Myservice.S_DELETE_LIBRARY_BOOK+"["+bookData.get(position).getBookId()+"]"+"&libraryId="+LibId+"&userId="+Uid;

   //did encoding and decoding for testing
  try {
      Url1= URLEncoder.encode(Url1,"UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    try {
        Url1 = URLDecoder.decode(Url1, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

  Log.d("LibraryAdapterUrl",""+Url1);
我还试图对字符串进行编码和解码,但没有成功。我希望整个过程都在url中

[2]&libraryId=1&userId=4
这部分不考虑作为url

我甚至粘贴了所有的URL而不是Myservice.S_DELETE_LIBRARY_BOOK,但它仍然在[2]处被拆分

整个url在浏览器中运行良好 .我做错了什么?

你可以处理

假设您像下面这样传递url值。url中有大括号

MyLandingURL=url>

然后,下面的代码将拆分并收集>符号之后的数组中的url。该代码标识>大于符号之后的url,这是完整的url。因此大括号不会妨碍您的代码

因此,你最终收集了字符串

你能应付的

假设您像下面这样传递url值。url中有大括号

MyLandingURL=url>

然后,下面的代码将拆分并收集>符号之后的数组中的url。该代码标识>大于符号之后的url,这是完整的url。因此大括号不会妨碍您的代码

因此,你最终收集了字符串


与此相反,您为什么不使用以下方法:

String test = "http://<ipaddress>/"+URLEncoder.encode("yourArrayValue", "UTF-8") + "&libraryId="  + LibId + "&userId=" + Uid;


与此相反,您为什么不使用以下方法:

String test = "http://<ipaddress>/"+URLEncoder.encode("yourArrayValue", "UTF-8") + "&libraryId="  + LibId + "&userId=" + Uid;


仅对问号后的查询字符串进行编码

String url = Myservice.S_DELETE_LIBRARY_BOOK + "?xxx=" 
       + URLEncoder.encode("[" + bookData.get(position).getBookId() + "]", "UTF-8")
       + "&libraryId="  + LibId + "&userId=" + Uid;

如果[必须是网站URL的一部分,那么您就运气不好,这是非法的。

只对问号后面的查询字符串进行编码

String url = Myservice.S_DELETE_LIBRARY_BOOK + "?xxx=" 
       + URLEncoder.encode("[" + bookData.get(position).getBookId() + "]", "UTF-8")
       + "&libraryId="  + LibId + "&userId=" + Uid;

如果[需要成为网站URL的一部分,那么你就不走运了,这是非法的。

为什么要用参数编码URL?只需编码参数值就可以尝试Myservice.S\u DELETE\u LIBRARY\u BOOK+\\[+bookData.getposition.getBookId+\]+&LibId=+LibId+&userId=+Uid;你可以做URLEncoder.encodeUrl1,UTF-8;@mayuraval我正在获取php?bookIds=\[2\]&libraryId=1&用户ID=4@Redman,如果您在日志中看到,它通常显示url已断开..您得到结果了吗?或者该链接命中了服务器上的api?为什么要用参数编码url?只需编码参数值即可尝试Myservice.S\u DELETE\u LIBRARY\u BOOK+\[+bookData.getposition.getBookId+\\]+&libraryId=+LibId+&userId=+Uid;您可以执行urlcoder.encodeUrl1,UTF-8;@MayurRaval我正在获取php?bookIds=\[2\]&libraryId=1&用户ID=4@Redman,如果您在日志中看到,它通常会显示url已断开..您得到结果了吗?或者该链接命中了服务器上的api?我不想分割url,我想加入url它不会分割url。它实际上标识了您正在传递的确切url。因此代码以这种方式收集url。URLType=url and URL value=我只是编辑了我的答案,并做了一些解释。我不想拆分URL,我想加入URL。它不会拆分URL。它实际上标识了您要传递的确切URL。因此代码以这种方式收集URL。URLType=URL和URL value=我只是编辑了我的答案,并做了一些解释。我ave要在BookID附近添加arraylist我必须在BookID附近添加arraylist