线路分流自动智能跳转代码,自动选择最快镜像网站(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设置按钮停顿3秒不可用
Mar 07 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
多种方式实现js图片预览
Dec 12 Javascript
折叠菜单及选择器的运用
Feb 03 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
JavaScript变量声明var,let.const及区别浅析
Apr 23 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
Sep 25 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
Aug 06 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 $_ENV为空的原因分析
2009/06/01 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
python递归查询菜单并转换成json实例
2017/03/27 Python
Python解决八皇后问题示例
2018/04/22 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
替换python字典中的key值方法
2018/07/06 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
pycharm导入源码的具体步骤
2020/08/04 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
汉语言文学毕业生求职信
2013/10/01 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
2016党校学习心得体会
2016/01/07 职场文书
Javascript 解构赋值详情
2021/11/17 Javascript
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript