线路分流自动智能跳转代码,自动选择最快镜像网站(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 相关文章推荐
Jquery插件之打造自定义的select标签
Nov 30 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
Spring mvc 接收json对象
Dec 10 Javascript
基于JS代码实现图片在页面中旋转效果
Jun 16 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
canvas绘制七巧板
Feb 03 Javascript
详解JavaScript中return的用法
May 08 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
谈谈React中的Render Props模式
Dec 06 Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
Jan 20 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/06 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
浅谈python连续赋值可能引发的错误
2018/11/10 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Python如何定义一个函数
2015/09/01 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
团员的自我评价
2013/12/01 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
离婚协议书范文2015
2015/01/26 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
劳动仲裁调解书
2015/05/20 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
详解python的异常捕获
2022/03/03 Python
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技