麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 編程設計 > 正文

局域網設置自動配置腳本文件的寫法與用途

2020-01-31 16:14:04
字體:
來源:轉載
供稿:網友
因為有朋友在深圳大學,他們學校的網絡比較變態。如果訪問了教育網指定的免費IP之外的IP,每M 6元錢。 
我本來想教她用二級代理之類的,不過無奈這個對她來講太難了。所以權宜之下,我只好讓她使用IE的自動配置腳本文件來限制以防萬一,至少能保證她在使用瀏覽器上網的時候不會因為不小心訪問了收費的IP而挨宰。 
雖然說這么變態的學校不多,但是終究還是有的,所以把自動配置腳本文件的寫法寫出來,如果有需要的朋友可以參考著來。 
首先我們先來介紹一下自動配置腳本文件: 
打開IE,點擊"工具"--"Internet選項"--"局域網設置",你就可以看到"使用自動配置腳本" 
自動配置腳本起的作用就是,當IE訪問網頁的時候會根據腳本文件里面界定的內容來訪問。比方說,你在腳本文件里面限定了訪問某些IP使用某個代理的時候,訪問另外一些IP使用另外的代理,這就很方便通過腳本文件來完成。 
一個PAC文件其實就是一個文本文件,最簡單的格式就是包含一個叫FindProxyForURL的JScript函數,IE通過傳入兩個變量來調用這個函數,一個是用戶瀏覽的地址URL全路經,一個是這個URL中的主機名部分(host)。 
這個FindProxyForURL函數有三種可能的字符串返回值,一是"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"; 

下面是代理腳本可能用到的函數和說明(英文不好的朋友可以直接跳過去看應用): 
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. 
下面是各個函數應用的例子: 
作者: xmudahai 2006-10-17 00:33   回復此發言 
--------------------------------------------------------------------------------
2 自動配置腳本文件的寫法與用途(原創) 
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是否在某個子網內,如果是就直接訪問,否則就通過代理,例子演示訪問清華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, ""),本例演示根據主機域名來改變連接類型,本地主機、*.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(),本例演示根據不同的協議來選擇不同的代理,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),本例演示訪問主機的域名級數是幾級,就是域名有幾個點如果域名中有點,就通過代理訪問,否則直接連接。 
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; 


利用上面的函數和例子說明,大家就可以寫出比較復雜有效的自動代理腳本。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 亚洲人成在线播放网站 | 色综合久久久久久久久久久 | 91九色蝌蚪在线 | 久久亚洲成人网 | 成人午夜a | 日本大片在线播放 | 亚欧美一区二区 | 毛片a级毛片免费播放100 | 亚洲第一成网站 | 久久久久一本一区二区青青蜜月 | 成人一级片毛片 | 国内精品久久久久久久星辰影视 | 国产亚洲精品成人 | 91麻豆精品国产91久久久更新资源速度超快 | 国产免费一区二区三区最新不卡 | 成人短视频在线观看 | 韩国草草影院 | 韩国美女一区 | 国产精品爱久久久久久久 | 久久综合久久精品 | 久久精品亚洲一区 | 一区二区三区视频在线观看 | 国产免费一区二区三区视频 | 美女黄污视频 | 欧美午夜网 | 色阁阁69婷婷 | 国产成人在线免费看 | 国产精品麻豆一区二区三区 | 久久国产乱子伦精品 | 亚欧在线免费观看 | 亚洲日本高清 | 国产成人av在线播放 | 久久精品国产99久久6动漫亮点 | 精品亚洲网站 | 毛片免费大全短视频 | 欧美精品一级片 | 久色免费 | 激情小说激情电影 | 久久久久久久久免费 | 中文字幕在线视频日本 | 黄a大片|