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