主頁 > 知識庫 > 局域網(wǎng)設(shè)置自動配置腳本文件的寫法與用途

局域網(wǎng)設(shè)置自動配置腳本文件的寫法與用途

熱門標簽:南京電銷外呼系統(tǒng)哪家好 外呼系統(tǒng)會封嗎 萬利達綜合醫(yī)院地圖標注點 地圖標注如何弄全套標 在電子版地圖標注要收費嗎 電銷機器人 深圳 股票配資電銷機器人 實體店地圖標注怎么標 武漢AI電銷機器人
因為有朋友在深圳大學,他們學校的網(wǎng)絡比較變態(tài)。如果訪問了教育網(wǎng)指定的免費IP之外的IP,每M 6元錢。 
我本來想教她用二級代理之類的,不過無奈這個對她來講太難了。所以權(quán)宜之下,我只好讓她使用IE的自動配置腳本文件來限制以防萬一,至少能保證她在使用瀏覽器上網(wǎng)的時候不會因為不小心訪問了收費的IP而挨宰。 
雖然說這么變態(tài)的學校不多,但是終究還是有的,所以把自動配置腳本文件的寫法寫出來,如果有需要的朋友可以參考著來。 
首先我們先來介紹一下自動配置腳本文件: 
打開IE,點擊"工具"--"Internet選項"--"局域網(wǎng)設(shè)置",你就可以看到"使用自動配置腳本" 
自動配置腳本起的作用就是,當IE訪問網(wǎng)頁的時候會根據(jù)腳本文件里面界定的內(nèi)容來訪問。比方說,你在腳本文件里面限定了訪問某些IP使用某個代理的時候,訪問另外一些IP使用另外的代理,這就很方便通過腳本文件來完成。 
一個PAC文件其實就是一個文本文件,最簡單的格式就是包含一個叫FindProxyForURL的JScript函數(shù),IE通過傳入兩個變量來調(diào)用這個函數(shù),一個是用戶瀏覽的地址URL全路經(jīng),一個是這個URL中的主機名部分(host)。 
這個FindProxyForURL函數(shù)有三種可能的字符串返回值,一是"DIRECT",就是直接連接,不通過代理;二是"PROXY proxyaddr:port",其中proxyaddr和port分別是代理的地址和代理的端口;三是"SOCKS socksaddr:port",其中socksaddr和port分別是socks代理的地址和端口,一個自動代理文件可以是多個選擇的組合,其中用分號(;)隔開,如: 
function FindProxyForURL(url,host) 

if (host == "www.mydomain.com") 
return "DIRECT"; 
return "PROXY myproxy:80; 
PROXY myotherproxy:8080; 
DIRECT"; 

下面是代理腳本可能用到的函數(shù)和說明(英文不好的朋友可以直接跳過去看應用): 
PAC Helper Functions 
dnsDomainIs(host, domain) Returns true if the host is part of the specified domain, false otherwise. 
isInNet(hostname, Resolves the hostname and subnet IP, subnet mask) returns true if the hostname is within the subnet 
specified by the IP address and the subnet mask, false otherwise. 
isPlainHostName(host) Returns true if there are no dots in the hostname, false otherwise. 
isResolvable(host) Internet Explorer tries to resolve the hostname through DNS and returns true if successful, false otherwise. 
localHostOrDomainIs Returns true if the host matches (host, domain) the host portion of the domain, or if the host matches the host and domain portions of the domain, false otherwise. (Executed only for URLs in the local domain.) 
dnsDomainLevels(host) Returns the number of dots in the hostname. 
dnsResolve(host) Returns a string containing the IP address of the specified host. 
myIPAddress( ) Returns a string containing the local machine's IP address. 
shExpMatch(url, shexp) Returns true if the supplied URL matches the specified shell expression, false otherwise. 
dateRange(parmList) Returns true if the current date falls within the dates specified in parmList, false otherwise. 
timeRange(parmList) Returns true if the current time falls within the times specified in parmList, false otherwise. 
weekdayRange(parmList) Returns true if today is within the days of the week specified in parmList, false otherwise. 
下面是各個函數(shù)應用的例子: 
作者: xmudahai 2006-10-17 00:33   回復此發(fā)言 
--------------------------------------------------------------------------------
2 自動配置腳本文件的寫法與用途(原創(chuàng)) 
a、isPlainHostName(host),本例演示判斷是否為本地主機,如 http://myservername/ 
的方式訪問,如果是直接連接,否則使用代理 
function FindProxyForURL(url, host) 

if (isPlainHostName(host)) 
return "DIRECT"; 
else 
return "PROXY proxy:80"; 

b、dnsDomainIs(host, "")、localHostOrDomainIs(host, ""),本例演示判斷訪問主機是否屬于某個域和某個域名,如果屬于.company.com域的主機名,而域名不是company.com和home.company.com的直接連接,否則使用代理訪問。 
function FindProxyForURL(url, host) 

if ((isPlainHostName(host) ││ 
dnsDomainIs(host, ".company.com"))  
!localHostOrDomainIs(host, "www.company.com")  
!localHostOrDomainIs(host, "home.company.com")) 
return "DIRECT"; 
else 
return "PROXY proxy:80"; 

c、isResolvable(host),本例演示主機名能否被dns服務器解析,如果能直接訪問,否則就通過代理訪問。 
function FindProxyForURL(url, host) 

if (isResolvable(host)) 
return "DIRECT"; 
else 
return "PROXY proxy:80"; 

d、isInNet(host, "", ""),本例演示訪問IP是否在某個子網(wǎng)內(nèi),如果是就直接訪問,否則就通過代理,例子演示訪問清華IP段的主頁不用代理。 
function FindProxyForURL(url, host) 

if (isInNet(host, "166.111.0.0", "255.255.0.0")) 
return "DIRECT"; 
else 
return "PROXY proxy:80"; 

e、shExpMatch(host, ""),本例演示根據(jù)主機域名來改變連接類型,本地主機、*.edu 、*.com分別用不同的連接方式。 
function FindProxyForURL(url, host) 

if (isPlainHostName(host)) 
return "DIRECT"; 
else if (shExpMatch(host, "*.com")) 
return "PROXY comproxy:80"; 
else if (shExpMatch(host, "*.edu")) 
return "PROXY eduproxy:80"; 
else 
return "PROXY proxy:80"; 

f、url.substring(),本例演示根據(jù)不同的協(xié)議來選擇不同的代理,http、https、ftp、gopher分別使用不同的代理。 
function FindProxyForURL(url, host) 

if (url.substring(0, 5) == "http:") { 
return "PROXY proxy:80"; 

else if (url.substring(0, 4) == "ftp:") { 
return "PROXY fproxy:80"; 

else if (url.substring(0, 7) == "gopher:") { 
return "PROXY gproxy"; 

else if (url.substring(0, 6) == "https:") { 
return "PROXY secproxy:8080"; 

else { 
return "DIRECT"; 


g、dnsResolve(host),本例演示判斷訪問主機是否某個IP,如果是就使用代理,否則直接連接。 
unction FindProxyForURL(url, host) 

if (dnsResolve(host) == "166.111.8.237") { 
return "PROXY secproxy:8080"; 

else { 
return "PROXY proxy:80"; 


h、myIpAddress(),本例演示判斷本地IP是否某個IP,如果是就使用代理,否則直接使用連接。 
function FindProxyForURL(url, host) 

if (myIpAddress() == "166.111.8.238") { 
return "PROXY proxy:80"; 

else { 
return "DIRECT"; 


i、dnsDomainLevels(host),本例演示訪問主機的域名級數(shù)是幾級,就是域名有幾個點如果域名中有點,就通過代理訪問,否則直接連接。 
function FindProxyForURL(url, host) 

if (dnsDomainLevels(host) > 0) { // if number of dots in host > 0 
return "PROXY proxy:80"; 

return "DIRECT"; 

j、weekdayRange(),本例演示當前日期的范圍來改變使用代理,如果是GMT時間周三到周六,使用代理連接,否則直接連接。 
function FindProxyForURL(url, host) 

if(weekdayRange("WED", "SAT", "GMT")) 
return "PROXY proxy:80"; 
else 
return "DIRECT"; 

k、最后一個例子是演示隨機使用代理,這樣可以好好利用代理服務器。 
function FindProxyForURL(url,host) 

return randomProxy(); 

function randomProxy() 

switch( Math.floor( Math.random() * 5 ) ) 

case 0: 
return "PROXY proxy1:80"; 
break; 
case 1: 
return "PROXY proxy2:80"; 
break; 
case 2: 
return "PROXY proxy3:80"; 
break; 
case 3: 
return "PROXY proxy4:80"; 
break; 
case 4: 
return "PROXY proxy5:80"; 
break; 


利用上面的函數(shù)和例子說明,大家就可以寫出比較復雜有效的自動代理腳本。

標簽:濟源 臺州 泰安 武威 濟寧 安徽 汕頭 廣東

巨人網(wǎng)絡通訊聲明:本文標題《局域網(wǎng)設(shè)置自動配置腳本文件的寫法與用途》,本文關(guān)鍵詞  局域網(wǎng),設(shè)置,自動,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《局域網(wǎng)設(shè)置自動配置腳本文件的寫法與用途》相關(guān)的同類信息!
  • 本頁收集關(guān)于局域網(wǎng)設(shè)置自動配置腳本文件的寫法與用途的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章