国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

關于處理GET方式提交的含有特殊字符的參數

2020-07-27 13:31:35
字體:
來源:轉載
供稿:網友
曾經有一位朋友遇到這樣一個問題,一產品名稱為A&T Plastic,在產品列表中就產生了這樣的一個聯接<a href="product.asp?name=A&T Plastic">A&T Plastic</a>,在服務器端接收此參數的時候怎么也無法接收到準確的產品名。
當時就問我,如何解決,也許是當時忙吧,隨口告訴他用HTMLENCODE方法,對方試告訴并沒有能解決這個問題。我當時沒有再給予回答,偶爾想起實在是對不起,我講錯了。今日閑暇就整理了一下如何處理GET方式提交的含有特殊字符的參數,以表內心的愧疚。



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



當鍵值中含有以上列表中的一些字符時就無法準確的接收其中的值。
<!--文件名為01.asp-->
<%
'定義含有特殊字符的字符串
str="parameter=#%&+/=?value</html>"
'用URLEncode方法進行編碼
strurlencode=server.URLEncode(str)
'用HTMLEncode方法進行編碼
strhtmlencode=server.HTMLEncode (str)
'顯示所有的querysting字符
Response.Write "<b>QueryString:<b>"
Response.Write Request.QueryString 
'顯示傳遞的參數
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>




顯示結果
QueryString:
Parameter is:parameter=#%&+/=?value
QueryParameter= 
Str UrlEncode Method
Str HtmlEncode Method
點擊連接1,結果
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
此時我們發現好象參數值中的</html>沒有能正確接收到,當我們查看原代碼的時候就會發現其實已經準確的接收到了,原因是“</html>”是標準html tag ,經過瀏覽器解釋后就不會顯示出來了。
點擊連接2,結果
QueryString:str=parameter=
Parameter is:parameter=#%&+/=?value
QueryParameter=parameter= 
Str UrlEncode Method
Str HtmlEncode Method
此時就會發現在#后面沒有能正確接收到,而是被解釋為錨點的開始,在"#"后面的為錨的名稱。



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



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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵德县| 临邑县| 民乐县| 盐津县| 农安县| 苗栗市| 汉中市| 安陆市| 清原| 永定县| 凉山| 定结县| 沁水县| 偃师市| 乐业县| 独山县| 岳阳县| 波密县| 手机| 塘沽区| 永清县| 安新县| 旅游| 云浮市| 榆树市| 自贡市| 遂川县| 和静县| 桐柏县| 吉木乃县| 蒙自县| 江都市| 雅安市| 宁河县| 新建县| 东山县| 长岭县| 女性| 施秉县| 辰溪县| 芦溪县|