url特殊字元轉義及解決方法
- URL特殊字元需轉義
- 1、空格換成加號(+)
- 2、正斜槓(/)分隔目錄和子目錄
- 3、問號(?)分隔URL和查詢
- 4、百分號(%)制定特殊字元
- 5、#號指定書籤
- 6、&號分隔引數
轉義字元的原因:
如果你的表單使用get方法提交,並且提交的引數中有“&”等特殊符的話,如果不做處理,在service端就會將&後面的作為另外一個引數來看待。例如
表單的action為list.jsf?act=go&state=5
則提交時通過request.getParameter可以分別取得act和state的值。
如果你的本意是act='go&state=5'這個字串,那麼為了在服務端拿到act的準確值,你必須對&進行轉義
url轉義字元原理:
將這些特殊的字元轉換成ASCII碼,格式為:%加字元的ASCII碼,即一個百分號%,後面跟對應字元的ASCII(16進位制)碼值。例如 空格的編碼值是"%20"。
- URL特殊符號及對應的十六進位制值編碼:
- 1. + URL 中+號表示空格 %2B
- 2. 空格 URL中的空格可以用+號或者編碼 %20
- 3. / 分隔目錄和子目錄 %2F
- 4. ? 分隔實際的 URL 和引數 %3F
- 5. % 指定特殊字元 %25
- 6. # 表示書籤 %23
- 7. & URL 中指定的引數間的分隔符 %26
- 8. = URL 中指定引數的值 %3D
解決方法如下(以+號為例):
方法一、修改客戶端,將客戶端帶“+”的引數中的“+”全部替換為“2B%”,這樣引數傳到伺服器端時就能得到“+”了。
方法二、
例子:
- String a = reuqest.getParameter("clientStr").replace(' ','+');
如果客戶端為clientStr=test+OK,那麼a的值為test+OK;
方法三、修改伺服器端,將獲取引數的方法由reuqest.getParameter改為request.getQueryString().substring(0),然後對得到的字串進行解析。
例子:
-
String a =request.getQueryString().substring(0);
如果客戶端為clientStr=test+OK,那麼a的值為clientStr=test+OK,需要再解析一下,
a=a.substring(10);得到a的值為test+OK。
附:一個JS,用來轉義URL中特殊字元的。
- function URLencode(sStr)
- {
- return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
- }
相關推薦
url特殊字元轉義及解決方法(附有例子)
做頁面開發的時候有時候,會使用Javascript的escape(),encodeURIComponent(),encodeURI ()這三個函式進行URL編碼,防止特殊字元接收不到。 解決方法:就是把客服端中帶有特殊字元的引數替換成另一些代替的引數,如下所示
url特殊字元轉義及解決方法
URL特殊字元需轉義 1、空格換成加號(+) 2、正斜槓(/)分隔目錄和子目錄 3、問號(?)分隔URL和查詢 4、百分號(%)制定特殊字元 5、#號指定書籤 6、&號分隔引數 轉義字元的原因: 如果你的表單使用get方法提交,並且提交的引數中有“&a
url 特殊字元 傳遞引數解決方法
十六進位制值 1. + URL 中+號表示空格 %2B 2. 空格 URL中的空格可以用+號或者編碼 %20 3. / 分隔目錄和子目錄 %2F 4. ? 分隔實際的 URL 和引數 %3F 5. % 指定特殊字元 %25 6. # 表示書籤 %23 7. & URL 中指定的引數間的分
Oracle SQL 部分特殊字元轉義及escape的用法
在處理sql時,遇到insert 或update 的引數中含有特殊字元“&”,下劃線“_”, 單引號" ' "等時,要做轉義處理。 例:插入特殊字元'&' update userinfo set pageurl='myjsp?page=1&pagesiz
URL特殊字元轉義
URL中一些字元的特殊含義,基本編碼規則如下: 1、空格換成加號(+) 2、正斜槓(/)分隔目錄和子目錄 3、問號(?)分隔URL和查詢 4、百分號(%)制定特殊字元 5、#號指定書籤 6、&號分隔引數 如果需要在URL中用到,需要將這些特殊字元換成相應的十六進位制
【整理】關於sqlite的特殊字元轉義及萬用字元
【轉】1.sqlite中的轉義符SELECT * FROM table WHERE number LIKE '%/%%' escape '/' sqlite3資料庫在搜尋的時候,一些特殊的字元需要進行轉義, 具體的轉義如下: / -> //
Http url特殊字元轉義
原文地址:http://zctya.blog.163.com/blog/static/1209178201242914357634/ URL特殊字元需轉義 1、空格換成加號(+) 2、正斜槓(/)分隔目錄和子目錄 3、問號(?)分隔URL和查詢
【已解決】GET方法的引數中處理URL特殊字元&%等
最近突然被分到後端做Web工具(也是直到最近才知道,在我們團隊做高併發、大資料處理的才是後端,我們做產品、web開發的只能算前端,暈。。。) 有個需求是 根據url及時間範圍查詢抓取到的不同版本的網頁快照,而綜合考慮另外一個需求後,查詢用了GET方法。 但是問題來了,當輸入
網址URL中特殊字元轉義
字元 URL編碼 空格 %20 & %26 % %25 : %3A | %7C 分析: %253A == %3A == : %257C == % 7C == | %2520 == %20 == 空格
[Java工具類]spring常用工具類 2.特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
JAVA中url的特殊字元處理及url轉碼解碼
在url中 , 只能使用url合法的字元 . 如果使用了非法字元來訪問某資源(如:+#等) , 就會導致資源訪問異常或失敗 . 同時原生url中也是不支援中文的 , 以百度為例 , 當你搜索了中文關鍵詞時 , 可以在url位址列中明顯的看出來中文被"編碼轉換了" . 本章暫
Spring 的優秀工具類盤點,第 2 部分: 特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
URL特殊字元的轉義
特殊符號 十六進位制值 + 轉義符為 %2B 空格 轉義符為 + 或 %20 / 轉義符為 %2F ? 轉義符為 %3F % 轉義符為 %25 # 轉義符為 %23 & 轉義符為 %26 = 轉義符為 %3D
ionic創建工程中遇到異常、錯誤及解決方法
右鍵 ive hub reac 個推 註意 code down 添加 1. 創建工程——download failed ionic start myApp tabs 遇到如下錯誤 Downloading--Failed! Error:Timeout of 25000m
struts2學習筆記——常見報錯及解決方法匯總(持續更新)
允許 clip 之間 con ack 技術 ext tro height 操作環境:(1)Tomcat 7.0.72.0 (2)OS Name: Windows 7 (3)JVM Version: 1.8.0_25-b18 (4)e
Android自動化測試遇到的問題及解決方法(1)
粘貼 png family 學習 再次 jmeter log 初始 mage 編者按:本文是小小小提姆在使用自動化測試工具TestWriter時的一點使用心得~我叫小小小提姆,是一名在IT行業的洪流中力爭上遊的軟件測試員,個人軟件測試擅長方向:1、功能測試(熟悉Fiddle
Monkey測試手機BUG重現及解決方法
一次 重新開始 ive system androi 測試工具 jar 子郵件 anr 1.1 Monkey測試簡介 Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、按鍵等操作來對設備上的程序進行壓
自動化測試工具TW報錯及解決方法
ima -1 需要 1.2 使用 policy 報錯 span 技術 自動化測試工具TestWriter使用時遇到的環境配置問題及解決方法如下,歡迎大家一起溝通交流~ 1.1 TW環境 1.1.1 Agent無法連接至服務器 1) 如果Agent與服務端不在一個網段,需要
遠程桌面連接MySQL遇到的問題及解決方法總結
許可授權 fire ble 連接 配置 image iptable 問題 分享 背景提要:想用Delphi做一個可以連接Mysql數據庫的桌面應用程序。其中遇到了一些讓自己很苦惱的問題。因為自己是新手,Delphi用的不熟,FireDAC這個連接數據庫裏控件更是沒有接觸
Nginx 安裝過程中遇到的一些問題及解決方法
requires nbsp margin req 命令 裝包 ... check sbin 一、安裝 獲取安裝包: wget http://nginx.org/download/nginx-1.11.5.tar.gz 解壓安裝包: tar -zxvf nginx-1.11