线路分流自动智能跳转代码,自动选择最快镜像网站(js)

 更新时间:2011年10月31日 14:06:47   作者:  
线路分流自动智能跳转代码,自动选择最快镜像网站,自动选择电信或网通线路跳转代码
JS脚本无数据库代码
复制代码 代码如下:

<Script Langage=Javascript>
i=1
var autourl=new Array()
autourl[1]="http://www.abc.com/default.asp" //修改为网通访问地址
autourl[2]="http://abc.com/default.asp" //修改为电信访问地址
function auto(url)
{
if(i)
{
i=0;
top.location=url
}}
function run()
{
for(var i=1;
i<autourl.length;i++)
document.write("<img src="+autourl[i]+" width=1 height=1 onerror=auto('"+autourl[i]+"')>")
}
run()
</script>

JS脚本数据库代码
复制代码 代码如下:

'版权所有
<%
On Error Resume next
dim conn,dbpath,UserIP
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("IP.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库正在更新中,请稍后再试!"'注释,需要把这几个字翻译成英文。
Response.End
End If
myip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If myip = "" Then myip = Request.ServerVariables("REMOTE_ADDR")
tempip=myip
myip = Split(myip,".")
if Ubound(myip)=3 then
For i=0 To Ubound(myip)
myip(i)=left(myip(i),3)
if isnumeric(myip(i)) then
myip(i)=cint(myip(i))
else
myip(i)=0
end if
next
myipnumeber=myip(0)*256*256*256+myip(1)*256*256+myip(2)*256+myip(3)
sql="select addr from ip where ip1<="&myipnumeber&" and ip2>="&myipnumeber
set rs1=conn.execute(sql)
if not rs1.eof then
response.redirect "http://www.***.com" '是网通的话则跳转到网通的网址去,自己修改为自己的网站
Else
response.redirect "http://www.****.com" '不是网通的则跳转到的网址,自己修改,不废话了
end if
rs1.close
set rs1=nothing
conn.close
set conn=nothing
end if%>

如:
复制代码 代码如下:

<html>
<head>
<title>标题</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="keywords" content="keywords">
<meta name="description" content="description">
<meta content="Copyright" name="author">
</head>
<body>
<table width="564" height="40%" border="0" align="center">
<tr>
<td><div align="center"><span class="style2">尊敬的游客<br>您好!正在为您自动选择最快的线路</span><strong>标题</strong><br>
<br>
<span class="style1">速度测试中……</span></div>
<div style="display:none;">
</div>
<div align="center">
<script>
i=1
var autourl=new Array()
autourl[1]="电信地址" //修改为电信访问地址
autourl[2]="网通地址" //修改为网通访问地址
function auto(url)
{
if(i)
{
i=0;
top.location=url
}}
function run()
{
for(var i=1;i<autourl.length;i++)
document.write("<img src='"+autourl[i]+"' width=1 height=1 onerror=auto('"+autourl[i]+"')>")
}
run()
</script>
</div></td>
</tr>
</table>
</body>
</html>

另一实例:
复制代码 代码如下:

<%
'-------------------------------------------------------------------------------------------------
Function GetUserIPInfo '根据当前用户使用线路信息
Set XMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")
'XMLHTTP.Open "Get","http://www.dns7.cn/ip/?ip="&GetUserIP(),false
XMLHTTP.Open "Get","http://www.dns7.cn/ip/?ip=60.12.1.2",false
XMLHTTP.Send
strResult= bytes2BSTR(XMLHTTP.ResponseBody)
GetUserIPInfo=strResult
End Function
'-------------------------------------------------------------------------------------------------
Function RemoteGetIPInfo(IP) '根据用户IP,得到使用线路信息
Set XMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "Get","http://www.dns7.cn/ip/?ip="&IP,false
XMLHTTP.Send
strResult= bytes2BSTR(XMLHTTP.ResponseBody)
RemoteGetIPInfo=strResult
End Function
'-------------------------------------------------------------------------------------------------
Function GetUserIP() '得到用户IP地址
Dim userip,userip2
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
userip2 = Request.ServerVariables("REMOTE_ADDR")
If userip = "" Then
GetUserIP=userip2
Else
GetUserIP=userip
End If
End Function
'-------------------------------------------------------------------------------------------------
Function bytes2BSTR(vIn) '内部函数调用
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
'-------------------------------------------------------------------------------------------------
%>
<%
'Response.write GetUserIP()
%>
<br>
<%
Response.write RemoteGetIPInfo("202.108.9.16")
%>
<br>
<%
Response.write GetUserIPInfo
%>

这个可以实现多服务器分流,可以实现线路自动识别跳转,其原理很简单,无论用户进入你哪个服务器只要你在默认页面使用这个代码,他就会跳转到访问速度最快的服务器,这样可以实现服务器分流,适用于流量大的,有多个线路多个服务器的!
本人经过测试非常好用
代码一:
在要跳转的页面上写上:
Copy code
复制代码 代码如下:

<script language="JavaScript">
var m=50000;
var n=Math.floor(Math.random()*m+1)
//alert(n);
document.write("<iframe src=http://cnc.jb51.net/test.htm?"+n+"||"+location.search.replace(/\?/g,"")+" WIDTH=0 HEIGHT=0 MARGINHEIGHT=0 MARGINWIDTH=0 FRAMEBORDER=0 SCROLLING=NO></iframe>");
document.write("<iframe src=http://dx.jb51.net/test.htm?"+n+"||"+location.search.replace(/\?/g,"")+" WIDTH=0 HEIGHT=0 MARGINHEIGHT=0 MARGINWIDTH=0 FRAMEBORDER=0 SCROLLING=NO></iframe>");
document.write("<iframe src=https://www.jb51.net/test.htm?"+n+"||"+location.search.replace(/\?/g,"")+" WIDTH=0 HEIGHT=0 MARGINHEIGHT=0 MARGINWIDTH=0 FRAMEBORDER=0 SCROLLING=NO></iframe>");
</script>


--------------------------------------------------------------------------------------
然后写test.htm页面代码:注意每个服务器站点(我上面代码分别为网通,电信,铁通)你自己根据自己站点情况修改里面的网址,这里只是演示,上面网址并不存在,在那几个服务器里面都放下面的test.htm) 都要放这个文件:
Copy code
复制代码 代码如下:

<script language="JavaScript">
/*
这里写上一些文字,不要太多150-200行就可以了,主要作用是,如果你的站点默认页面为DEFAULT。HTM你把代码一,放上去后他会检测你所有服务器的test.htm,然后读取test.htm文件,寻找最快的页面,哪个访问速度快就进哪个站点,这里要写上文字,就是为了让他来检测读取速度,也不要太少,太少检测不出速度!
*/
if (top.location !== self.location) {
top.location=self.location;
}
var url1,url2;
url1=location.search.replace(/\?/g,"")
url2=url1.split("||");
location.href="index.htm";
</script>

相关文章

  • 关于Object.entries()方法的使用和实现方式

    关于Object.entries()方法的使用和实现方式

    这篇文章主要介绍了关于Object.entries()方法的使用和实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 5个让你眼前一亮的JavaScript装饰器技巧

    5个让你眼前一亮的JavaScript装饰器技巧

    JavaScript 装饰器是一种特殊的功能,允许在不修改源代码的情况下动态修改类和函数的行为,本文将介绍五个让你眼前一亮的装饰器技巧,包括装饰函数参数、装饰类属性、装饰函数返回值和装饰函数调用,需要的朋友可以参考下
    2023-06-06
  • JS模式之简单的订阅者和发布者模式完整实例

    JS模式之简单的订阅者和发布者模式完整实例

    这篇文章主要介绍了JS模式之简单的订阅者和发布者模式,以一个完整实例形式详细分析了JS订阅者和发布者模式基本实现技巧,需要的朋友可以参考下
    2015-06-06
  • JavaScript编写一个贪吃蛇游戏

    JavaScript编写一个贪吃蛇游戏

    本文主要介绍了JavaScript写的一个贪吃蛇游戏的实例,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 超级简单实现JavaScript MVC 样式框架

    超级简单实现JavaScript MVC 样式框架

    本文给大家分享的是一则翻译过来的,由国外友人写的如何简单有效的实现javascript MVC样式框架,算是一个MVC的入门教程,希望大家能够喜欢。
    2015-03-03
  • BootStrap CSS全局样式和表格样式源码解析

    BootStrap CSS全局样式和表格样式源码解析

    这篇文章主要为大家详细解析了BootStrap图片样式、辅助类样式和CSS组件源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 解决jquery插件冲突的问题

    解决jquery插件冲突的问题

    本篇文章主要是对解决jquery插件冲突的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • BootStrap给table表格的每一行添加一个按钮事件

    BootStrap给table表格的每一行添加一个按钮事件

    这篇文章主要介绍了BootStrap给table表格的每一行添加一个按钮事件的相关资料,需要的朋友可以参考下
    2017-09-09
  • JavaScript设计模式中的观察者模式

    JavaScript设计模式中的观察者模式

    这篇文章主要介绍了JavaScript设计模式中的观察者模式,观察者设计模式适用于监听一对多的操作,例如监听对象属性的修改等等,观察者模式能够降低代码耦合度,提升可扩展性
    2022-06-06
  • JS更改select内option属性的方法

    JS更改select内option属性的方法

    这篇文章主要介绍了JS更改select内option属性的方法,涉及JavaScript动态操作页面select元素属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10

最新评论