人妻 一区 二区_午夜精品久久久久久不卡_日韩毛片av毛片黄色_夜夜看天天想人人爱

   用戶名:
   密  碼:
             
 用戶注冊!    忘記密碼?
 
 
 
手機號碼:15850899989
聯(lián)系電話:0523-82629588
 
聯(lián)系QQ:24小時維護QQ 隱身中……
  QQ維護群:60586583
 當前位置:首頁 - 新聞中心 - 常見問題
 
  自動配置IE代理腳本  
     
發(fā)布時間:2013.11.08 新聞來源:靖江星雨網(wǎng)絡(luò)工程有限公司(靖江電腦維修) 瀏覽次數(shù):
 

用本本上網(wǎng)時,往返家里和單位,因為單位是用的代理上網(wǎng),家里是直接連接.因此每次都要修改IE的代理設(shè)置,雖然是個小事,但是每次都要修改總是有點煩,于是參考GOOGLE,寫了一個自動配置代理的腳本.這樣無論在家和在公司,只要連上局域網(wǎng)就可以上網(wǎng)了.


function FindProxyForURL(url,host){
    if((isPlainHostName(host))||shExpMatch(url,"http://127.0.0.1/*")||isInNet(host,"192.168.0.0", "255.255.255.0")){
        return "direct";
    } else {
          if(myIpAddress()=="192.168.0.49")
               return "PROXY 192.168.0.6:808";
        else
              return "direct";
    }
}

把以上代碼另存為proxy.pac的文件,如:c:\proxy.pac,然后在IE的菜單里"工具"->"INTEL選項"->"連接"->局域網(wǎng)設(shè)置

把使用自動配置腳本選上,然后在地址欄填入file://c:/proxy.pac,注意file后是兩斜杠,要使設(shè)置生效,需要關(guān)閉IE再重新打開.

現(xiàn)在我們介紹下這個proxy.pac腳本文件,腳本的語法是js語法,js的內(nèi)置函數(shù)可以使用,要實現(xiàn)自動配置代理,需要實現(xiàn)FindProxyForURL這個函數(shù),其參數(shù)url代表要訪問的連接,host代表要訪問連接的主機名,該函數(shù)有三個返回參數(shù)
direct:直接連接
proxy IP:PORT
socket IP:PORT
返回結(jié)果大小寫不敏感

PAC的其他內(nèi)置語法見http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html


PAC腳本另外一個重要的應(yīng)用是多臺代理服務(wù)器并存的情況下,通過pac腳本的控制:

•用戶隨機選擇使用多臺代理服務(wù)器中的任意一臺來達到流量負載均衡的目的;
•管理員通過PAC腳本控制用戶使用和不使用某臺代理服務(wù)器,這樣可以空出時間對代理服務(wù)器進行維護;
•讓服務(wù)器工作在主備模式,當主服務(wù)器宕機時,會自動切換到其它備用服務(wù)器而不會中斷服務(wù);
•根據(jù)訪問目的地的不同,自動選擇最佳代理服務(wù)器。

下面列舉幾個PAC的實例,順便學(xué)習下它的語法

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域的主機名,而域名不是
  www.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服務(wù)器解析,如果能直接訪問,否
  則就通過代理訪問。
 
 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,如果是就使用代理,否則直
  接連接。

function 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、最后一個例子是演示隨機使用代理,這樣可以好好利用代理服務(wù)器。

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;
     }   
}

 
地址:江蘇省靖江市中洲西路28號  電話:0523-82629588   24小時服務(wù)熱線:15850899989
郵編:214500 E-mail:admin@it0523.com  蘇ICP備17010739號