主页 > 知识库 > ASP读取Request.QueryString编码的函数代码

ASP读取Request.QueryString编码的函数代码

热门标签:科大讯飞语音识别系统 Mysql连接数设置 阿里云 银行业务 团购网站 服务器配置 电子围栏 Linux服务器
1. 支持参数纯汉字 ?a=深山老熊
2. 支持参数gb2312 Urlencode编码: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. 支持参数UTF-8 Urlencode编码: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
复制代码 代码如下:

%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
%
Option Explicit
Const YXCMS_CHARSET = "UTF-8"
Const YXCMS_CODEPAGE = 65001
Response.CharSet = "UTF-8"
Session.CodePage = 65001
'测试URL
'?n1=深山老熊n2=%C9%EE%C9%BD%C0%CF%D0%DCn3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
'深山老熊
'GBK : %C9%EE%C9%BD%C0%CF%D0%DC
'UTF-8 : %E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Dim URI,key
Set URI = new Cls_URI
'输出所有参数测试
For Each key In URI.QueryString
Response.Write "span style='color:red'>" key " : /span>" URI.Get(key) "hr/>"
Next
'取单个值
'URI.Get("名称")
'--------------------------------------------
'ASP UTF-8编码下通吃 GBK UTF-8编码
'作者: 深山老熊 QQ:81090
'--------------------------------------------
Class Cls_URI
Private o_item,o_regx
Private url_query
Private Sub Class_Initialize
Set o_item = CreateObject("Scripting.Dictionary")
o_item.CompareMode = 1
Set o_regx = New Regexp
o_regx.Pattern = "^(?:[\x00-\x7f]|[\xfc-\xff][\x80-\xbf]{5}|[\xf8-\xfb][\x80-\xbf]{4}|[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc0-\xdf][\x80-\xbf])+$"
Session.CodePage = 936
url_query = Request.ServerVariables("QUERY_STRING")
Session.CodePage = 65001
'根据QUERY_STRING字符串,生成模拟QueryString值
Dim i,a,b,c,n,v
a = Split(url_query,"") : c = UBound(a)
For i = 0 To c
b = Split(a(i),"=",2)
n = Trim(b(0) "")
If UBound(b) 1 Then
v = ""
Else
v = b(1)
If InStr(v,"%") > 0 Then v = URLDecode(v)
End If
If n > "" Then
o_item(n) = v
End If
Next
Set o_regx = Nothing
End Sub
Private Sub Class_Terminate
Set o_item = Nothing
End Sub
'模拟 Request.QueryString
Public Function QueryString()
Set QueryString = o_item
End Function
'模拟 Request.QueryString(n)
Public Function [GET](n)
If o_item.Exists(n) Then
[GET] = o_item.Item(n)
Else
[GET] = ""
End If
End Function
'编码格式化
Private Function URLDecode(ByVal s)
Dim sm,cs,r,o_regex
If Trim(s "") = "" Then
URLDecode = s : Exit Function
End If
s = unescape(s)
If o_regx.Test(s) Then
cs = "UTF-8"
Else
cs = "GBK"
End If
Set sm = CreateObject("Adodb.Stream")
With sm
.Type = 2
.Mode = 3
.Open
.CharSet = "ISO-8859-1"
.WriteText s
.Position = 0
.CharSet = cs
URLDecode = .ReadText(-1)
.Close
End With
Set sm = Nothing
End Function
End Class
%>
您可能感兴趣的文章:
  • asp下request.querystring("id")与request("id")区别
  • asp.net下Request.QueryString取不到值的解决方法
  • 循环取值Request.QueryString的用法
  • 从客户端检测到有潜在危险的Request.Form值的asp.net代码
  • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解
  • ASP.NET中Request.Form中文乱码的解决方法
  • asp.net中Request.QueryString与Request.Param的区别分析
  • Request.QueryString与一般NameValueCollection的区别
  • 有潜在危险的 Request.Form 值避免方法
  • ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法
  • ASP.NET检测到不安全 Request.Form 值解决方案汇总
  • Jquery中request和request.form和request.querystring的区别

标签:江苏 衢州 广元 枣庄 蚌埠 萍乡 衡水 大理

巨人网络通讯声明:本文标题《ASP读取Request.QueryString编码的函数代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266