飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

ASP获取当前页面URL地址(带参数)的方法

Author:Flymorn Source:飘易博客
Categories:Asp编程 PostTime:2008-3-8 12:20:20
正 文:
    今天周六,本来要写写百度快照不更新的内容;但由于家里的一条小白狗拽拽一直缠着我跳来跳去,再加上今天也是三八妇女节,女朋友要去逛街,所以没时间再来补充文章了;就把我以前写的一篇如何获取当前页面url地址的方法贴到这里吧。

    以下为原文:

    今天在写BLOG的Trackback时,需要用到当前页的URL地址,并且包括?后的所有参数。在网上看到以下的这段ASP代码,它的确可以获取到当前页的URL,包括参数。

'============================================
'获取当前Url参数的函数
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 InStr(page,M_Item)=0 Then
       M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&""))  & "&"
    End If
  Next
  end if
  GetUrl ="http://"&Request.ServerVariables("Server_Name")&ScriptAddress & M_ItemUrl
End Function
'==============================================

    但这段ASP代码有不足,比如:http://www.cn-pn.com/diary/show.asp?id=853,获取的地址却是http://www.cn-pn.com/diary/show.asp?id=853&,地址后多了个“&”,这是由于它的循环没有处理好。

    其实根本没那么费事;以下是我自己加工的ASP代码,短小且功能正常,有需要的朋友就拿去用吧:

'===========================================
'获取当前Url参数的函数
Function GetUrl()
  Dim ScriptAddress,Servername,qs
  ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME"))
  Servername = CStr(Request.ServerVariables("Server_Name"))
  qs=Request.QueryString
  if qs<>"" then
  GetUrl ="http://"& Servername & ScriptAddress &"?"&qs
  else
  GetUrl ="http://"& Servername & ScriptAddress
  end if
End Function
'============================================
作者:Flymorn
来源:飘易博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:百度快照不更新的原因分析:如何促进百度更新
下一篇:百度降权后的网站终于恢复排名了
8条评论 “ASP获取当前页面URL地址(带参数)的方法”
1 i0ne
2008-3-13 22:19:59
好! 测试测试~
2008-3-22 8:09:42
我这个人做研究不行,做技术也是一塌糊涂
写几个小工具自己用而已
另外:你有没有类似的那个程序,借我参考一下?
2008-5-18 21:18:34
再次学习下。。。。。。
4 wontao
2009-1-17 9:18:26
http://www.xxx.com/xx.asp?xx=1&xx2=2&xx3=3
你的还能获取?
5 vdonkey
2009-5-8 14:09:49
回4楼,经我测试可以正常读取。不论参数多少
6 flymorn
2009-5-22 13:43:37
回 LICA:
如果你是需要直接获取具体参数值,直接使用 request.querystring("x1") 类似的。
2010-8-26 21:37:44
如果是带有端口的呢?
2013-2-21 11:06:21
这事经常要干,咱就直接拿来用了啊,谢谢楼主
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号