URL引數中有 特殊符號或加密資料 的問題解決

2022-08-30 01:54:10 字數 798 閱讀 5762

url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,如何是好?

解決辦法

將這些字元轉化成伺服器可以識別的字元,對應關係如下:

url字元轉義

用其它字元替代吧,或用全形的。

+    url 中+號表示空格                            %2b   

空格 url中的空格可以用+號或者編碼           %20 

/     分隔目錄和子目錄                              %2f     

?     分隔實際的url和引數                         %3f     

%    指定特殊字元                                   %25     

#    表示書籤                                         %23     

&    url 中指定的引數間的分隔符                %26     

=    url 中指定引數的值                           %3d

把des加密後的位元組資訊簡單地當作字串,你會丟失許多資訊。例如des加密後直接放到url的引數部分,當urlencode時就會當成字串處理,從而丟失資訊。

要想將des加密結果變為字串,最簡單的想法就是使用base64編碼。而這個編碼結果直接放到url引數中使用,當urlencode就不會有影響。當然在urldecode後,解碼需要多乙個base64解碼的步驟。

URL特殊符號處理

有些特殊符號在url中試不能直接傳遞的,如果要在url中傳遞這些符號,就需要使用它們的編碼 否則,將會出現亂碼。十六進製制值 1 url 中 號表示空格 2b 2 空格 url中的空格可以用 號或者編碼 20 3 分隔目錄和子目錄 2f 4 分隔實際的 url 和引數 3f 5 指定特殊字元 25 ...

URL特殊符號的處理

有些符號在url中是不能直接傳遞的,如果要在url中傳遞這些特殊符號,那麼就要使用他們的編碼了。編碼的格式為 加字元的ascii碼,即乙個百分號 後面跟對應字元的ascii 16進製制 碼值。例如 空格的編碼值是 20 如果不使用轉義字元,這些編碼就會當url中定義的特殊字元處理。下表中列出了一些u...

url中的特殊符號

最近寫http伺服器,解析請求中的url,發現有一些特殊字元 url 中 號表示空格 2b 空格 url中的空格可以用 號或者編碼 20 分隔目錄和子目錄 2f 分隔實際的 url 和引數 3f 指定特殊字元 25 表示書籤 23 url 中指定的引數間的分隔符 26 url 中指定引數的值 3d ...