通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>asp专区>>正文 新版上线![旧版]
注:打开慢时请稍等
关于处理get方式提交的含有特殊字符的参数

http://www.iyit.net  日期:2006-5-3 15:31:34  来源:动网  点击:
参加讨论】曾经有一位朋友遇到这样一个问题,一产品名称为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 "<br><b>parameter is:</b>" & str &"<br>"
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>&nbsp;</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()就可以拉,这里就不在举例了。

编辑: [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:用asp实现对oracle数据库的操作
下一篇:md5算法研究(2)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
处理较长文章,添加 …… 效果
rs.open sql,conn,1,1全接触
asp初学者常犯的几个错误
windows 2000活动目录详解之安装配置篇
浅谈如何建立三层体系结构的asp应用程
vc++实现对远程计算机屏幕的监视
vc下揭开“特洛伊木马”的隐藏面纱
多线程技术在vc++串口通信程序中的应用
用vc++制作一个简单的局域网消息发送工
用vc++6.0的sockets api实现一个聊天室
用vc++实现上网拨号功能
使用visual c++开发soap客户端应用
vc++ smtp协议电子邮件传送剖析
vc++实现gps全球定位系统定位数据的提
用vc 6.0实现串行通信的三种方法
asp进度条
asp中使用sql语句教程
datalist里套datagrid,databind
测试一下喽!
asp自动解压rar文件
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
asp中使用sql语句教程
测试一下喽!
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息