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


Posted in Javascript onOctober 31, 2011

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.3water.com/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.3water.com/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://3water.com/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>
Javascript 相关文章推荐
一个javascript参数的小问题
Mar 02 Javascript
jquery 插件学习(五)
Aug 06 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
js读写json文件实例代码
Oct 21 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 Javascript
vue如何引入sass全局变量
Jun 28 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
Mar 06 Javascript
HTML+JS实现在线朗读器
Feb 15 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
Oct 30 #Javascript
加载 Javascript 最佳实践
Oct 30 #Javascript
js判断是否为数组的函数: isArray()
Oct 30 #Javascript
JS trim去空格的最佳实践
Oct 30 #Javascript
js中更短的 Array 类型转换
Oct 30 #Javascript
JavaScript Array Flatten 与递归使用介绍
Oct 30 #Javascript
关于图片按比例自适应缩放的js代码
Oct 30 #Javascript
You might like
定义php常量的详解
2013/06/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
javascript版2048小游戏
2015/03/18 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
浅谈Python 对象内存占用
2016/07/15 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
golang/python实现归并排序实例代码
2020/08/30 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
无故旷工检讨书
2014/01/26 职场文书
会计自我鉴定
2014/02/04 职场文书
房产公证书范本
2014/04/10 职场文书
外联部演讲稿
2014/05/24 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
十佳党员事迹材料
2014/08/28 职场文书
何玥事迹观后感
2015/06/16 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS