服務端拼接參數
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¶ms2=2222 針對這個的解析,就是通過? 解析到host, 通過 & = 解析各個參數
如果某個參數是一個網址,這個網址中包含 & = 等符號,就會影響解析,解決方案就是服務端將 一個url 中的網頁地址參數 用urlEncode編碼一下
編解碼工具
可使用這個在線工具驗證 鏈接
客戶端解析
Uri uri = Uri.parse("douyuapp://h5?url=xxxx¶ms2=2222");
String scheme = uri.getScheme();
String url = uri.getQueryParameter("url");