asp获取URL参数的几种方法分析总结 原创

(编辑:jimmy 日期: 2025/4/22 浏览:2)

需要用到这个功能,没怎么测试呢,测试后给具体代码
假如地址是:
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html

方法一:简单,得不到参数,只有一个虚拟路径
复制代码 代码如下:
GetUrl =request("url")  '这个因为我们没有url=什么字样所以直接pass掉 

方法二:得到整个URL,得到参数 
复制代码 代码如下:
'得到当前页面的地址   
   Function GetUrl()   
   On Error Resume Next   
   Dim strTemp   
   If LCase(Request.ServerVariables("HTTPS")) = "off" Then   
   strTemp = "http://"   
   Else   
   strTemp = "https://"   
   End If   
   strTemp = strTemp & Request.ServerVariables("SERVER_NAME")   
   If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT")   
   strTemp = strTemp & Request.ServerVariables("URL")   
   If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & Trim(Request.QueryString)   
   GetUrl = strTemp   
   End Function  

经测试这个代码得到的路径为:
/test/geturl.asp?Param-VR52tmx3syn03777.html=

方法二:得到虚拟路径,得到参数

复制代码 代码如下:
Private Function GetUrl()  
Dim ScriptAddress,M_ItemUrl,M_item 
ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME")) '取得当前地址  
M_ItemUrl = ""  
If (Request.QueryString <> "") Then  
ScriptAddress = ScriptAddress & "?"  
For Each M_item In Request.QueryString 
If M_item = "page_num" Then Exit for '此处的作用就是过滤掉Page_num这个页次的参数(该参数是在page_turn.asp中自行设置的,根据个人设定而变),否则每次翻页都会叠加这个参数,虽然不影响功能,但总归不太好吧~~ 
If InStr(page,M_Item)=0 Then  
M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&"")) 
else 
M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&"")) & "&" 
End If  
Next 
Else 
ScriptAddress = ScriptAddress & "?" 
end if  
GetUrl = ScriptAddress & M_ItemUrl  
End Function 

上面的代码得到的地址为
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html

基本上差不多

如果只是为了得到?号后面的东西,我们可以用下面的代码
复制代码 代码如下:
response.write replace(request.querystring,".html","") 

得到的就是Param-VR52tmx3syn03777是不是满足了我们的需要了呢

PS:上面的所有情况只是针对纯asp,如果结合urlrewrite的话,功能会有所增强,搜索的友好型,也会加强
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?