线路分流自动智能跳转代码,自动选择最快镜像网站(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检测函数
May 31 Javascript
Javascript 面向对象(三)接口代码
May 23 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
js跨域请求的5中解决方式
Jul 02 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
JS正则表达式验证密码格式的集中情况总结
Feb 23 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 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.NET的入门教程
2006/10/09 PHP
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python执行时间的几种计算方法
2020/07/31 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
哈理工毕业生的求职信
2013/12/22 职场文书
工程班组长岗位职责
2013/12/30 职场文书
二年级学生期末评语
2014/12/26 职场文书
公司文体活动总结
2015/05/07 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
Go语言怎么使用变长参数函数
2022/07/15 Golang