Asp classic ASP从引用url抓取参数
您好,我正在使用代码获取转介URL,您可以在下面看到:Asp classic ASP从引用url抓取参数,asp-classic,vbscript,Asp Classic,Vbscript,您好,我正在使用代码获取转介URL,您可以在下面看到: sRef = encode(Request.ServerVariables("HTTP_REFERER")) 此代码正在获取以下URL: 我想从这个url获取ADV和LOC(Request.querystring不起作用) 有什么可以帮我的吗?所有这些都发生在脚本中。将sRef视为字符串,并使用Mid获取值。下面的代码应该是你到达目的地的起点 <% sRef="http://www.rzammit.com/pages/linux-f
sRef = encode(Request.ServerVariables("HTTP_REFERER"))
此代码正在获取以下URL:
我想从这个url获取ADV和LOC(Request.querystring不起作用)
有什么可以帮我的吗?所有这些都发生在脚本中。将sRef视为字符串,并使用Mid获取值。下面的代码应该是你到达目的地的起点
<%
sRef="http://www.rzammit.com/pages/linux-form.asp?adv=101&loc=349"
a=instr(sRef, "adv")+4
b=instr(sRef, "&loc")
response.write(mid(sRef ,a,b-a))
response.write("<br>")
response.write(mid(sRef ,b+5))
%>
将sRef视为字符串,并使用Mid获取值。下面的代码应该是你到达目的地的起点
<%
sRef="http://www.rzammit.com/pages/linux-form.asp?adv=101&loc=349"
a=instr(sRef, "adv")+4
b=instr(sRef, "&loc")
response.write(mid(sRef ,a,b-a))
response.write("<br>")
response.write(mid(sRef ,b+5))
%>
我真不敢相信我做了这件事。ASP经典是我的第一个网络编程爱好,所以我不得不:)
在页面中使用此函数,您可以通过将变量名称和URL字符串传递给GetVarValue来查询任何变量
(注:如果这个答案有效,接受这个答案,它会给我的StackOverflow回购带来奇迹:)我真不敢相信我这么做了。ASP经典是我的第一个网络编程爱好,所以我不得不:)
在页面中使用此函数,您可以通过将变量名称和URL字符串传递给GetVarValue来查询任何变量
(注:如果这个答案有效,接受这个答案,它将对我的StackOverflow Repo:)产生奇迹。使用Regexp和字典从字符串中提取结构化信息:
>> Dim s : s = "http://www.rzammit.com/pages/linux-form.asp?adv=101&loc=349"
>> Dim d : Set d = getKVP(s)
>> WScript.Echo "loc =", d("loc")
>> WScript.Echo "adv =", d("adv")
>> Function getKVP(s)
>> Dim r, d, m
>> set r = New RegExp
>> r.Global = True
>> r.Pattern = "(\w+)=(\w+)"
>> set d = CreateObject("Scripting.Dictionary")
>> For Each m In r.Execute(s)
>> d(m.SubMatches(0)) = m.SubMatches(1)
>> Next
>> Set getKVP = d
>> End Function
>>
loc = 349
adv = 101
您可能需要修改过于简单的模式,但这种方法比Instr方法扩展得更好。使用Regexp和字典从字符串中提取结构化信息:
>> Dim s : s = "http://www.rzammit.com/pages/linux-form.asp?adv=101&loc=349"
>> Dim d : Set d = getKVP(s)
>> WScript.Echo "loc =", d("loc")
>> WScript.Echo "adv =", d("adv")
>> Function getKVP(s)
>> Dim r, d, m
>> set r = New RegExp
>> r.Global = True
>> r.Pattern = "(\w+)=(\w+)"
>> set d = CreateObject("Scripting.Dictionary")
>> For Each m In r.Execute(s)
>> d(m.SubMatches(0)) = m.SubMatches(1)
>> Next
>> Set getKVP = d
>> End Function
>>
loc = 349
adv = 101
您可能需要修改过于简单的模式,但是这种方法比Instr方法扩展得更好。我在发布之前测试了它,现在又测试了一次,它在这里工作。在您的实例中,它给出了什么错误?我正在使用以下代码(我正在为iAdv和iLoc分配返回值)sRef=encode(Request.ServerVariables(“HTTP_REFERER”))a=instr(sRef,“adv”)+4b=instr(sRef,“&loc”)iAdv=mid(sRef,a,b-a)iLoc=mid(sRef,b+5)好的,下面是我找到的sRef=Request.ServerVariables(“HTTP_REFERER”)工作而不是sRef=encode(Request.ServerVariables(“HTTP_REFERER”))嗨:)我有一个小问题。我有一个新链接:。当我返回loc值时,loc后面的参数也会显示出来。我想要一个动态的东西,它只获取adv和loc值,不管url中有什么参数。我如何才能做到这一点,请?我测试之前,张贴和再次现在-它在这里工作。在您的实例中,它给出了什么错误?我正在使用以下代码(我正在为iAdv和iLoc分配返回值)sRef=encode(Request.ServerVariables(“HTTP_REFERER”))a=instr(sRef,“adv”)+4b=instr(sRef,“&loc”)iAdv=mid(sRef,a,b-a)iLoc=mid(sRef,b+5)好的,下面是我找到的sRef=Request.ServerVariables(“HTTP_REFERER”)工作而不是sRef=encode(Request.ServerVariables(“HTTP_REFERER”))嗨:)我有一个小问题。我有一个新链接:。当我返回loc值时,loc后面的参数也会显示出来。我想要一个动态的东西,它只获取adv和loc值,不管url中有什么参数。我怎样才能做到这一点呢?继续保持下去男人:)你太棒了。请给我你的电子邮件或skype好吗?azzassfa@gmail.com-我希望这里不禁止分享个人信息:$Keep it up man:)你太棒了。请给我你的电子邮件或skype好吗?azzassfa@gmail.com-我希望这里不禁止共享个人信息:$