DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 線路分流自動智能跳轉代碼,自動選擇最快鏡像網站(js)
線路分流自動智能跳轉代碼,自動選擇最快鏡像網站(js)
編輯:關於JavaScript     
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.jb51.net/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.jb51.net/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://www.jb51.net/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>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved