设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> ASP教程 >> ASP 3.0高级编程(十六)
精品推荐
ASP教程点击TOP10
·用ASP查看数据库记录的代码
·ASP讲座之六:ASP与数据库(一)
·ASP教程:UrlRewrite 使用参考文档
·ASP去掉字符串头尾连续回车和空格的Function
·ASP讲座之一:网页开发利器:高效易学的ASP
·ASP六大对象介绍
·ASP使用的去掉字符串头尾连续回车和空格的函数
·十天学会ASP之第一天
·十天学会ASP之第二天
·简单熟悉掌握ASP的语法和变量
网络编程点击TOP10
·ASP.NET 程序中常用的三十三种代码
·CHK文件恢复工具
·.NET 初 级 读 本
·c#操作word表格
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·我的.NET书架 (入门篇)
·从零开始学ASP.NET(基础篇)
·十天学会ASP.net之第一天
·用C#实现木马程序
·官方水晶报表 .NET 应用程序实例下载 (C#、Visual C++.NET)
精选专题

ASP 3.0高级编程(十六)

作者: 来源:http://www.xgdown.com/ 时间:2005-11-4 23:36:40

ASP 3.0高级编程(十六)(5) 另外一种更普遍的情况也会出现麻烦。当把这些值作为QueryString集合的成员传送给服务器时,将被追加到URL的末尾(在一个问号字符之后)。这种情况发生在<FORM>的METHOD属性被设置为“GET”(或者是省略了METHOD属性)的情况。换句话说,对于直接追加到URL上的值,都可能出现麻烦。这可能发生在<A>元素中:
<A HREF=http://myserver.com/mypage.asp?title=Instant Jscript>Instant Jscript</A>
一些浏览器(例如Internet EXPlorer)可以对此进行处理,因为它们在把HTTP请求发送到服务器之前,自动地执行必要的转换。然而,许多其他的浏览器不进行这种转换,并导致了URL通常在第一个空格或非法字符处被截断。这样在Navigator中,上面给出的链接要求的网页变为http://myserver.com/mypage.asp?title=Instant。在服务器上,title名字/值对的丢失部分会使代码失败。
考虑到HTTP协议定义的限制,必须从作为HTTP请求中的URL使用的字符串中删除非法的字符(非法字符是所有那些ANSI代码在126之上的字符和ANSI代码在126以下的某些字符)。
ANSI代码大于126的字符必须用百分号后跟十六进制形式的ANSI代码进行替换。这样,版权字符&copy;变成%A9。ANSI代码在126之下在URL中不合法的字符,同样使用相应的替代字符串;如表4-6所示:
表4-6  字符与HTTP/URL代替物的关系
字 符
HTTP/URL代替物
字 符
HTTP/URL代替物

空格
+
\
%5C


%27
]
%5D

!
%21
^
%5E

#
%23
`
%60

$
%24
{
%7B

%
%25

%7C

&
%26
}
%7D

(
%28
+
%2B

)
%29
<
%3C

/
%2F
=
%3D

:
%3A
>
%3E

;
%3B
Chr(10)
忽略

[[/TD]
%5B
Chr(13) [TD]
%0D

4.  Server对象的URLEncode方法
Server对象提供了可以用来把任意字符串转换成相应的合法HTTP URL的方法。可以利用示例网页对这个名为URLEncode的方法进行练习,如图4-29所示:

图4-29  使用URLEncode方法的屏幕
这里,输入的值作为URL是非法的,它包含了空格和ANSI代码大于126的字符。对这个值,使用URLEncode方法的结果是所有的空格被替换成一个加号,版权符号被替换为 %A9,如图4-30所示:

图4-30  使用URLEncode方法的结果
(1)    示例网页代码的功能
在示例网页中,处理这个功能的代码非常简单,仅仅检查是否单击了URLEncode方法对应的按钮,如果单击了,把对应的文本框中的值传递给Server.URLEncode方法并显示结果:
If Len(Request.Form(“cmdURLEncode”)) Then
       strValue = Request.Form(“txtURLEncode”)
       Response.Write “<B>Results:</B><BR>Server.URLEncode (“ & QUOT & strValue _

共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

ASP 3.0高级编程(十六) 相关文章:
ASP 3.0高级编程(十六) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com