Url 中携带参数、编解码、解析参数的问题


服务端拼接参数

douyuapp://h5?url=http%3a%2f%2fdoc.dz11.com%2fddse%2fpreview%2fshare%2f834f082265aa38f3c267%3fsid%3d394%26shareType%3d1%232.8%25E3%2580%2581%2520%25E6%2588%25BF%25E9%2597%25B4%25E5%25B8%25B8%25E7%2594%25A8%25E4%25BF%25A1%25E6%2581%25AF

上面这个url 中,有一个参数 url

注意,服务端返回这个url,必须要进行 urlEncode编码。否则,客户端无法解析。

为什么无法解析?

解析的原理是字符串切割(或者正则匹配),douyuapp://h5?url=xxxx&params2=2222 针对这个的解析,就是通过? 解析到host, 通过 & = 解析各个参数

如果某个参数是一个网址,这个网址中包含 & = 等符号,就会影响解析,解决方案就是服务端将 一个url 中的网页地址参数 用urlEncode编码一下

编解码工具

可使用这个在线工具验证 链接

客户端解析

            Uri uri = Uri.parse("douyuapp://h5?url=xxxx&params2=2222");
            String scheme = uri.getScheme();
            String url = uri.getQueryParameter("url");


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM