1. 程式人生 > >【已解決】GET方法的引數中處理URL特殊字元&%等

【已解決】GET方法的引數中處理URL特殊字元&%等

最近突然被分到後端做Web工具(也是直到最近才知道,在我們團隊做高併發、大資料處理的才是後端,我們做產品、web開發的只能算前端,暈。。。)

有個需求是 根據url及時間範圍查詢抓取到的不同版本的網頁快照,而綜合考慮另外一個需求後,查詢用了GET方法。

但是問題來了,當輸入的URL中含有特殊字元時,輸入引數有可能被剝離,比如:

URL為 http://www.hljqnyy.org.cn/zt/sz?PCBDZH%3D3&sz&47152 時,問題將會產生。因為這個輸入的URL中剛好有&符號,如果不對URL做處理,導致的結果是,引數增多,原有URL被破壞。

PHP開發環境下,前端介面用的是smarty模板,解決方案是:

前端對引數進行編碼:

<td><a href="/ss/snapshot/view?uuid={%$field.uuid%}&url={%$params.url|escape:"url"%}&listUrl={%$listUrl|escape:"url"%}">檢視</td>

用到了Smarty中的escape,具體參考點選開啟連結