2013-04-03 29 views
0

在客戶端(在瀏覽器中)的URL看起來像這樣的:在編碼/解碼後的服務器端URL參數值看起來很奇怪。爲什麼?

http://www.google.com?param1=Name1%3DValue1 

這意味着,該參數param1具有價值Name1=Value1

在服務器端,我看,這param1具有價值Name1=Value1

我發現信息,'='是HTML字符「=」的實體(十進制)。

主要問題,我沒有完全訪問服務器端的代碼。

請您提供一些建議,我可以如何將HTML實體轉換爲「=」。 你怎麼看,在服務器端的URL參數有HTML實體還是它的bug是有效的情況?

+0

什麼是服務器?任何框架?在調用堆棧中的哪個位置讀取參數? 「http://www.google.com」是你在谷歌上運行的嗎? :) – Vitaly

+0

東西是使用XML/HTML數字實體編碼你的網址 - 你還沒有告訴我們足夠讓我們甚至冒險猜測爲什麼。這不是任何標準處理鏈的正常部分。我建議在源代碼中尋找類似「數字實體編碼」的東西...... –

回答

1

這很奇怪。我迷失了爲什麼URL編碼字符將被轉換爲編碼的HTML實體。無論如何,如果你感興趣的是把它轉換成Name = Value,那麼看看這段代碼。

System.out.println(StringEscapeUtils.unescapeHtml("Name1=Value1")); 

輸出

名1 =值1

哪裏StringEscapeUtils是Apache Commons Lang中的項目。

相關問題