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

2025-05-27 0 46

需要用到这个功能,没怎么测试呢,测试后给具体代码

假如地址是:

http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html



方法一:简单,得不到参数,只有一个虚拟路径

复制代码代码如下:


GetUrl=request("url")'这个因为我们没有url=什么字样所以直接pass掉



方法二:得到整个URL,得到参数

复制代码代码如下:


'得到当前页面的地址
FunctionGetUrl()
OnErrorResumeNext
DimstrTemp
IfLCase(Request.ServerVariables("HTTPS"))="off"Then
strTemp="http://"
Else
strTemp="https://"
EndIf
strTemp=strTemp&Request.ServerVariables("SERVER_NAME")
IfRequest.ServerVariables("SERVER_PORT")<>80ThenstrTemp=strTemp&":"&Request.ServerVariables("SERVER_PORT")
strTemp=strTemp&Request.ServerVariables("URL")
IfTrim(Request.QueryString)<>""ThenstrTemp=strTemp&"?"&Trim(Request.QueryString)
GetUrl=strTemp
EndFunction



经测试这个代码得到的路径为:

/test/geturl.asp?Param-VR52tmx3syn03777.html=



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

复制代码代码如下:


PrivateFunctionGetUrl()
DimScriptAddress,M_ItemUrl,M_item
ScriptAddress=CStr(Request.ServerVariables("SCRIPT_NAME"))'取得当前地址
M_ItemUrl=""
If(Request.QueryString<>"")Then
ScriptAddress=ScriptAddress&"?"
ForEachM_itemInRequest.QueryString
IfM_item="page_num"ThenExitfor'此处的作用就是过滤掉Page_num这个页次的参数(该参数是在page_turn.asp中自行设置的,根据个人设定而变),否则每次翻页都会叠加这个参数,虽然不影响功能,但总归不太好吧~~
IfInStr(page,M_Item)=0Then
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&""))&"&"
EndIf
Next
Else
ScriptAddress=ScriptAddress&"?"
endif
GetUrl=ScriptAddress&M_ItemUrl
EndFunction



上面的代码得到的地址为

http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html



基本上差不多



如果只是为了得到?号后面的东西,我们可以用下面的代码

复制代码代码如下:


response.writereplace(request.querystring,".html","")



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



PS:上面的所有情况只是针对纯asp,如果结合urlrewrite的话,功能会有所增强,搜索的友好型,也会加强

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 asp获取URL参数的几种方法分析总结 https://www.kuaiidc.com/69708.html

相关文章

发表评论
暂无评论