服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP教程 - DefiniteUrl asp将相对地址转换为绝对地址的代码

DefiniteUrl asp将相对地址转换为绝对地址的代码

2019-10-09 14:25asp代码网 ASP教程

DefiniteUrl asp将相对地址转换为绝对地址的代码

  1. '==================================================  
  2. '函数名:DefiniteUrl  
  3. '作  用:将相对地址转换为绝对地址  
  4. '参  数:PrimitiveUrl ------要转换的相对地址  
  5. '参  数:ConsultUrl ------当前网页地址  
  6. '==================================================  
  7. Function DefiniteUrl(Byval PrimitiveUrl,Byval ConsultUrl)  
  8.    Dim ConTemp,PriTemp,Pi,Ci,PriArray,ConArray  
  9.    If PrimitiveUrl="" or ConsultUrl="" or PrimitiveUrl="$False$" or ConsultUrl="$False$" Then  
  10.       DefiniteUrl="$False$"  
  11.       Exit Function  
  12.    End If  
  13.    If Left(Lcase(ConsultUrl),7)<>"http://" Then  
  14.       ConsultUrl= "http://" & ConsultUrl  
  15.    End If  
  16.    ConsultUrl=Replace(ConsultUrl,"\","/")  
  17.    ConsultUrl=Replace(ConsultUrl,"://",":\\")  
  18.    PrimitiveUrl=Replace(PrimitiveUrl,"\","/")  
  19.  
  20.    If Right(ConsultUrl,1)<>"/" Then  
  21.       If Instr(ConsultUrl,"/")>0 Then  
  22.          If Instr(Right(ConsultUrl,Len(ConsultUrl)-InstrRev(ConsultUrl,"/")),".")>0 then     
  23.          Else  
  24.             ConsultUrl=ConsultUrl & "/"  
  25.          End If  
  26.       Else  
  27.          ConsultUrl=ConsultUrl & "/"  
  28.       End If  
  29.    End If  
  30.    ConArray=Split(ConsultUrl,"/")  
  31.  
  32.    If Left(LCase(PrimitiveUrl),7) = "http://" then  
  33.       DefiniteUrl=Replace(PrimitiveUrl,"://",":\\")  
  34.    ElseIf Left(PrimitiveUrl,1) = "/" Then  
  35.       DefiniteUrl=ConArray(0) & PrimitiveUrl  
  36.    ElseIf Left(PrimitiveUrl,2)="./" Then  
  37.       PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-2)  
  38.       If Right(ConsultUrl,1)="/" Then     
  39.          DefiniteUrl=ConsultUrl & PrimitiveUrl  
  40.       Else  
  41.          DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & PrimitiveUrl  
  42.       End If  
  43.    ElseIf Left(PrimitiveUrl,3)="../" then  
  44.       Do While Left(PrimitiveUrl,3)="../"  
  45.          PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-3)  
  46.          Pi=Pi+1  
  47.       Loop              
  48.       For Ci=0 to (Ubound(ConArray)-1-Pi)  
  49.          If DefiniteUrl<>"" Then  
  50.             DefiniteUrl=DefiniteUrl & "/" & ConArray(Ci)  
  51.          Else  
  52.             DefiniteUrl=ConArray(Ci)  
  53.          End If  
  54.       Next  
  55.       DefiniteUrl=DefiniteUrl & "/" & PrimitiveUrl  
  56.    Else  
  57.       If Instr(PrimitiveUrl,"/")>0 Then  
  58.          PriArray=Split(PrimitiveUrl,"/")  
  59.          If Instr(PriArray(0),".")>0 Then  
  60.             If Right(PrimitiveUrl,1)="/" Then  
  61.                DefiniteUrl="http:\\" & PrimitiveUrl  
  62.             Else  
  63.                If Instr(PriArray(Ubound(PriArray)-1),".")>0 Then   
  64.                   DefiniteUrl="http:\\" & PrimitiveUrl  
  65.                Else  
  66.                   DefiniteUrl="http:\\" & PrimitiveUrl & "/"  
  67.                End If  
  68.             End If        
  69.          Else  
  70.             If Right(ConsultUrl,1)="/" Then     
  71.                DefiniteUrl=ConsultUrl & PrimitiveUrl  
  72.             Else  
  73.                DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & PrimitiveUrl  
  74.             End If  
  75.          End If  
  76.       Else  
  77.          If Instr(PrimitiveUrl,".")>0 Then  
  78.             If Right(ConsultUrl,1)="/" Then  
  79.                If right(LCase(PrimitiveUrl),3)=".cn" or right(LCase(PrimitiveUrl),3)="com" or right(LCase(PrimitiveUrl),3)="net" or right(LCase(PrimitiveUrl),3)="org" Then  
  80.                   DefiniteUrl="http:\\" & PrimitiveUrl & "/"  
  81.                Else  
  82.                   DefiniteUrl=ConsultUrl & PrimitiveUrl  
  83.                End If  
  84.             Else  
  85.                If right(LCase(PrimitiveUrl),3)=".cn" or right(LCase(PrimitiveUrl),3)="com" or right(LCase(PrimitiveUrl),3)="net" or right(LCase(PrimitiveUrl),3)="org" Then  
  86.                   DefiniteUrl="http:\\" & PrimitiveUrl & "/"  
  87.                Else  
  88.                   DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & "/" & PrimitiveUrl  
  89.                End If  
  90.             End If  
  91.          Else  
  92.             If Right(ConsultUrl,1)="/" Then  
  93.                DefiniteUrl=ConsultUrl & PrimitiveUrl & "/"  
  94.             Else  
  95.                DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & "/" & PrimitiveUrl & "/"  
  96.             End If           
  97.          End If  
  98.       End If  
  99.    End If  
  100.    If Left(DefiniteUrl,1)="/" then  
  101.      DefiniteUrl=Right(DefiniteUrl,Len(DefiniteUrl)-1)  
  102.    End if  
  103.    If DefiniteUrl<>"" Then  
  104.       DefiniteUrl=Replace(DefiniteUrl,"//","/")  
  105.       DefiniteUrl=Replace(DefiniteUrl,":\\","://")  
  106.    Else  
  107.       DefiniteUrl="$False$"  
  108.    End If  
  109. End Function 

延伸 · 阅读

精彩推荐
  • ASP教程ASP所有的Session变量获取实现代码

    ASP所有的Session变量获取实现代码

    在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来...

    asp教程网3532019-09-10
  • ASP教程asp实现后台添加wma视频文件前台显示

    asp实现后台添加wma视频文件前台显示

    想用asp来实现后台添加wma视频文件,前台显示所添加的这个视频文件,本文提供实现代码...

    服务器之家3402019-07-10
  • ASP教程一种理论上最快的Web数据库分页方法

    一种理论上最快的Web数据库分页方法

    出了一种理论上最佳的分页方法,本篇我们就来详细说说这种最佳的分页方法。 一:构思。 在设计Web数据库时,如果我们要编历每一条纪录,那么只有采取...

    asp教程网5642019-10-26
  • ASP教程NAV导致IIS调用FSO失败的解决方法

    NAV导致IIS调用FSO失败的解决方法

    症状: 当你浏览调用FileSystemObject的ASP页面时, 对页面的请求处于停止状态并最终导致页面在浏览器中的超时。 原因: 这种问题是因为 Norton Antivirus 软件...

    asp教程网5492019-11-01
  • ASP教程asp 中文乱码问题解决方法

    asp 中文乱码问题解决方法

    不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...

    ASP之家6472019-07-10
  • ASP教程一份ASP内存的释放的实验报告

    一份ASP内存的释放的实验报告

    实验目的:验证主动释放内存变量是否有价值. 实验原始代码: script language=vbscript runat=server Dim temp1,temp2 temp1 = space(1024*1024*50) 50MB for i = 0 to 5000000 延迟 next t...

    asp教程网5052019-10-30
  • ASP教程asp中通过fso读取和生成UTF-8编码的txt

    asp中通过fso读取和生成UTF-8编码的txt

    利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法...

    ASP之家4712019-07-07
  • ASP教程ASP.NET 简介

    ASP.NET 简介

    本节对 ASP.NET 进行概括,介绍了 ASP.NET 的服务器技术、开发工具以及文件扩展名。 经典 ASP Active Server Pages(动态服务器页面) ASP ,全称 Active Server Pages(...

    未知1392023-05-08