线路分流自动智能跳转代码,自动选择最快镜像网站(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 无废话系列教程(一) jquery入门 [推荐]
Jun 23 Javascript
javaScript函数中执行C#代码中的函数方法总结
Aug 07 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
JavaSript中变量的作用域闭包的深入理解
May 12 Javascript
javascript中为某个元素指定事件的三种方式
Aug 07 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
Dec 09 Javascript
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
vue实现图片裁剪后上传
Dec 16 Vue.js
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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
PHP文件与目录操作示例
2016/12/24 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
PHP _construct()函数讲解
2019/02/03 PHP
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
python 获取本机ip地址的两个方法
2013/02/25 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
幼师专业求职推荐信
2013/11/08 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
护士年终个人总结
2015/02/13 职场文书
公司档案管理制度
2015/08/05 职场文书
MySQL 条件查询的常用操作
2022/04/28 MySQL