主頁 > 知識(shí)庫 > 關(guān)于處理GET方式提交的含有特殊字符的參數(shù)

關(guān)于處理GET方式提交的含有特殊字符的參數(shù)

熱門標(biāo)簽:電話機(jī)器人案例 保定電銷機(jī)器人軟件 電話機(jī)器人銷售公司嗎 vue 地圖標(biāo)注拖拽 鎮(zhèn)江云外呼系統(tǒng)怎么樣 成都銷售外呼系統(tǒng)公司 客服外呼系統(tǒng)呼叫中心 自動(dòng)外呼系統(tǒng)怎么防止封卡 土地證宗地圖標(biāo)注符號(hào)
曾經(jīng)有一位朋友遇到這樣一個(gè)問題,一產(chǎn)品名稱為AT Plastic,在產(chǎn)品列表中就產(chǎn)生了這樣的一個(gè)聯(lián)接a href="product.asp?name=AT Plastic">AT Plastic/a>,在服務(wù)器端接收此參數(shù)的時(shí)候怎么也無法接收到準(zhǔn)確的產(chǎn)品名。
當(dāng)時(shí)就問我,如何解決,也許是當(dāng)時(shí)忙吧,隨口告訴他用HTMLENCODE方法,對(duì)方試告訴并沒有能解決這個(gè)問題。我當(dāng)時(shí)沒有再給予回答,偶爾想起實(shí)在是對(duì)不起,我講錯(cuò)了。今日閑暇就整理了一下如何處理GET方式提交的含有特殊字符的參數(shù),以表內(nèi)心的愧疚。



特殊特殊字符的含義
————————————————————————————
字符 特殊字符的含義 URL編碼
# 用來標(biāo)志特定的文檔位置 %23
% 對(duì)特殊字符進(jìn)行編碼 %25
 分隔不同的變量值對(duì) %26
+ 在變量值中表示空格 %2B
\&;表示目錄路徑 %2F
= 用來連接鍵和值 %3D
? 表示查詢字符串的開始 %3F



當(dāng)鍵值中含有以上列表中的一些字符時(shí)就無法準(zhǔn)確的接收其中的值。
!--文件名為01.asp-->
%
'定義含有特殊字符的字符串
str="parameter=#%+\=?value/html>"
'用URLEncode方法進(jìn)行編碼
strurlencode=server.URLEncode(str)
'用HTMLEncode方法進(jìn)行編碼
strhtmlencode=server.HTMLEncode (str)
'顯示所有的querysting字符
Response.Write "b>QueryString:b>"
Response.Write Request.QueryString 
'顯示傳遞的參數(shù)
Response.Write "
b>Parameter is:/b>"  str "
"
Response.Write "b>QueryParameter=/b>"
Response.Write Request.QueryString ("str")



%>
HTML>
HEAD>
META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
TITLE>/TITLE>
/HEAD>
BODY>



P>a href="01.asp?str=%=strurlencode%>">Str UrlEncode Method/a>/P>
P> /P>
P>a href="01.asp?str=%=strhtmlencode%>">Str HtmlEncode Method/a>/P>
/BODY>
/HTML>




顯示結(jié)果
QueryString:
Parameter is:parameter=#%+\=?value
QueryParameter= 
Str UrlEncode Method
Str HtmlEncode Method
點(diǎn)擊連接1,結(jié)果
QueryString:str=parameter%3D%23%25%26%2B%5C%3D%3Fvalue%3C%2Fhtml%3E
Parameter is:parameter=#%+\=?value
QueryParameter=parameter=#%+\=?value 
Str UrlEncode Method
Str HtmlEncode Method
此時(shí)我們發(fā)現(xiàn)好象參數(shù)值中的/html>沒有能正確接收到,當(dāng)我們查看原代碼的時(shí)候就會(huì)發(fā)現(xiàn)其實(shí)已經(jīng)準(zhǔn)確的接收到了,原因是“/html>”是標(biāo)準(zhǔn)html tag ,經(jīng)過瀏覽器解釋后就不會(huì)顯示出來了。
點(diǎn)擊連接2,結(jié)果
QueryString:str=parameter=
Parameter is:parameter=#%+\=?value
QueryParameter=parameter= 
Str UrlEncode Method
Str HtmlEncode Method
此時(shí)就會(huì)發(fā)現(xiàn)在#后面沒有能正確接收到,而是被解釋為錨點(diǎn)的開始,在"#"后面的為錨的名稱。



結(jié)論:在含有以上列表中具有特殊功能的特殊字符的字符串,作為參數(shù)用GET方式傳遞時(shí),只需要用URLENCODE方法處理一下就可以拉。如果不想讓瀏覽者看到含后HTML TAG的字符串的具體值值是,我們可以用HTMLENCODE處理一下。



PHP中用函數(shù)urlencode()就可以拉,這里就不在舉例了。 

標(biāo)簽:成都 重慶 麗江 懷化 公主嶺 內(nèi)江 天津 臺(tái)灣

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于處理GET方式提交的含有特殊字符的參數(shù)》,本文關(guān)鍵詞  關(guān)于,處理,GET,方式,提交,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于處理GET方式提交的含有特殊字符的參數(shù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于關(guān)于處理GET方式提交的含有特殊字符的參數(shù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章