我想知道是否有人可以帮助我。
我有以下网址(这是动态的)
www.website.com/images/gal/boxes-pic004.asp
如何使用经典 ASP 提取“boxes-pic004”部分
谢谢
我想知道是否有人可以帮助我。
我有以下网址(这是动态的)
www.website.com/images/gal/boxes-pic004.asp
如何使用经典 ASP 提取“boxes-pic004”部分
谢谢
<%
Dim sScriptLocation, sScriptName, iScriptLength, iLastSlash
sScriptLocation = Request.ServerVariables("URL")
iLastSlash = InStrRev(sScriptLocation, "/")
iScriptLength = Len(sScriptLocation)
sScriptName = Right(sScriptLocation, iScriptLength - iLastSlash)
%>
sScriptName
然后将包含boxes-pic004.asp
,然后您也可以使用Replace(sScriptName, ".asp", "")
删除扩展名。
只是您可以尝试输出所有ServerVariables,例如,
例如页面网址: https ://www.google.com/gmail/inbox.asp?uid=1421&skyid=2823595
Dim strProtocol
Dim strDomain
Dim strPath
Dim strQueryString
Dim strFullUrl
If lcase(Request.ServerVariables("HTTPS")) = "on" Then
strProtocol = "https"
Else
strProtocol = "http"
End If
strDomain= Request.ServerVariables("SERVER_NAME")
strPath= Request.ServerVariables("SCRIPT_NAME")
strQueryString= Request.ServerVariables("QUERY_STRING")
strFullUrl = strProtocol & "://" & strDomain & strPath
If Len(strQueryString) > 0 Then
strFullUrl = strFullUrl & "?" & strQueryString
End If
Response.Write "Domain : " & strDomain & "</br>"
Response.Write "Path : " & strPath & "</br>"
Response.Write "QueryString : " & strQueryString & "</br>"
Response.Write "FullUrl : " & strFullUrl & "</br>"
输出:
Domain : www.google.com
Path : /gmail/inbox.asp
QueryString : uid=1421&skyid=2823595
FullUrl : https://www.google.com/gmail/inbox.asp?uid=1421&skyid=2823595
简单的
只需使用Request.ServerVariables("SCRIPT_NAME")
然后进行一些切线即可获得所需的东西。
我认为这将取决于您用来进行 URL 重写的方法。
使用 IIS - 有关如何提取完整 URL,请参阅上一篇文章:获取页面的当前 url(使用 URL 重写)
使用 404 - 这是我过去的做法,访问原始 URL 的唯一方法是检查查询字符串。404 URL 看起来像这样:
https://website.com/rewrite.asp?404;http://website.com/images/gal/boxes-pic004.asp
要获取 URL,我使用如下内容:
Function getURL()
Dim sTemp
sTemp = Request.Querystring
' the next line removes the HTTP status code that IIS sends, in the form "404;" or "403;" or whatever, depending on the captured error
sTemp = Right(sTemp, len(sTemp) - 4)
' the next two lines remove both types of server names that IIS includes in the querystring
sTemp = replace(sTemp, "http://" & Request.ServerVariables("HTTP_HOST") & ":80/", "")
sTemp = replace(sTemp, "http://" & Request.ServerVariables("HTTP_HOST") & "/", "")
sTemp = replace(sTemp, "https://" & Request.ServerVariables("HTTP_HOST") & "/", "")
sTemp = replace(sTemp, "https://" & Request.ServerVariables("HTTP_HOST") & ":443/", "")
' the next bit of code will force our array to have at least 1 element
getURL = sTemp
End Function
这将为您提供完整的原始 URL,然后您可以使用简单的拆分提取所需的部分,例如:
tmpArr = Split(getURL(),"/")
strScriptName = tmpArr(UBound(tmpArr))
然后 strScriptName 变量将返回“boxes-pic004.asp”。
希望这可以帮助。