Uri.parse(),如何获得正确的编码?

时间:2013-06-30 14:02:11

标签: java android uri percent-encoding

我正在做一个应用程序,我必须从网页读取一个URL作为字符串[它不是页面的地址]。我将要阅读的URL包含查询字符串,我特别需要来自该URL的两个查询。所以我使用Android中提供的Uri类。现在,问题在于URL和查询的编码/格式。我需要的其中一个查询始终是一个URL。有时查询URL是%编码的,有时不是。

网址可以如下所示:

案例1:

  

http://www.example.com/example/example.aspx?file=http%3A%2F%2FXX.XXX.XX.XXX%2FExample.file%3Ftoken%3D9dacfc85

案例2:

  

http://www.example.com/example/example.aspx?file=http://XX.XXX.XX.XXX/Example.file?token=9dacfc85

如何获取file=查询中包含的正确网址?

我正在使用以下[完成普遍的上述工作]:

Uri.decode(urlString.getQueryParameter("file"));

这是正确的方法吗?


更新

我决定首先对整个URL进行编码而不管其值如何,然后获取查询参数。从理论上说,它应该有效。

1 个答案:

答案 0 :(得分:0)

如果您不确定您将获得的URL类型,那么我建议您解码从参数中获得的每个URL。当你需要使用它时,你可以编码它。

据我所知,你做得对。