tomcat配置url跳轉(zhuǎn) 如何解決Http請求參數(shù)中加號變空格問題?
如何解決Http請求參數(shù)中加號變空格問題?英文和中文的HTTP請求參數(shù)加號是進(jìn)行URL編碼的,因為在HTTP請求參數(shù)中,加號是空格的替代字符(因為空格是HTTP協(xié)議URL的非法字符),所以當(dāng)您的請求參
如何解決Http請求參數(shù)中加號變空格問題?
英文和中文的HTTP請求參數(shù)加號是進(jìn)行URL編碼的,因為在HTTP請求參數(shù)中,加號是空格的替代字符(因為空格是HTTP協(xié)議URL的非法字符),所以當(dāng)您的請求參數(shù)中出現(xiàn)加號時,它將被理解為空格。解決方案是對加號進(jìn)行編碼。URL編碼方法是將需要轉(zhuǎn)換的字符轉(zhuǎn)換為十六進(jìn)制形式的英文百分號加號字符。例如,除了加號外,空格還可以表示為20,這是空格的十六進(jìn)制形式。
為什么url中的空格要做轉(zhuǎn)換呢?
這是URL編碼的表示。對于每個字節(jié),它可以由兩個十六進(jìn)制值%表示,后跟ASCII碼:根據(jù)URL編碼,URL中的空格是20,因此URL中的空格是
javascript傳遞參數(shù)中帶加號自動變成了空格?
第一個參數(shù)
“MTu離開編輯.aspx?id=“”d“”mpeditstate&;mpeditstate=1“
到
”MTu離開編輯.aspx?id=“d”&editstate=1“
少一個加號
再說一遍,URL參數(shù)的參數(shù)值不需要引號,不管是字符串還是數(shù)字,中間用一個&;連接代替兩個
如何解決Http請求參數(shù)中加號變空格問題?
bybillsoate
錯誤原因:
我沒有深入分析原因說起來,我經(jīng)歷了幾個編解碼標(biāo)準(zhǔn)前后傳輸不同,造成了加號、空格等字符錯誤。
簡單的解決方案:
在這種情況下,一個快速的解決方案是將參數(shù)中的所有加號“”替換為“+”
(也許這種方法不好,它應(yīng)該能夠在傳輸前以某種格式對數(shù)據(jù)進(jìn)行編碼,并在獲取數(shù)據(jù)時進(jìn)行解碼。)