在 Windows 7 上使用不同的網路和不同的代理伺服器

在 Windows 7 上使用不同的網路和不同的代理伺服器

我有一台運行 Windows 7 Professional 的筆記型電腦。我每天連接兩個無線網路:

  • 首頁:沒有代理伺服器
  • 工作:具有身份驗證的代理伺服器

在我的 iPad 和 iPhone 上,我有兩個 WIFI 網路設定檔(一個用於家庭,一個用於工作)。工作一已指定代理伺服器設定。家庭沒有指定代理。這一切都很好,每當我從家裡搬到工作地點時,我都不需要改變設置,反之亦然。

然而,在我的筆記型電腦上,我似乎無法做到這一點。我當然可以連接到這兩個網絡,但是當我在工作時,我必須去更改代理設置(在“Internet 選項”中)才能使用該網絡。當我在家時,我必須去把它們關掉。雖然是一件小事,但考慮到這是我每天要做的事情,就有點煩人了。

有什麼方法可以讓 Windows 根據我連接的網路自動開啟或關閉代理設定嗎?

答案1

如今大多數瀏覽器都支援代理配置腳本。這只是一些 JavaScript,它採用 DNS 名稱/IP 作為參數,並傳回字串來指示要使用哪個代理程式。

http://en.wikipedia.org/wiki/Proxy_auto-config

即使您不懂 javascript,也相當簡單。您所要做的就是將瀏覽器的「自動代理程式設定腳本」設定指向該檔案。一些瀏覽器堅持認為腳本應該位於網路上的某個地方。

有一些小程式可以託管您自己機器上的文件,例如http://tinyserver.sourceforge.net/

但我通常只是把它放在我方便的本地網路伺服器上。

範例 autoconf.js:

   function FindProxyForURL(url, host) {
      // our local URLs from the domains below example.com don't need a proxy:
      if (shExpMatch(host, "*.example.com"))
      {
         return "DIRECT";
      }

      // URLs within this network are accessed through
      // port 8080 on fastproxy.example.com:
      if (isInNet(host, "10.0.0.0",  "255.255.248.0"))
      {
         return "PROXY fastproxy.example.com:8080";
      }

      // All other requests go through port 8080 of proxy.example.com.
      // should that fail to respond, go directly to the WWW:
      return "PROXY proxy.example.com:8080; DIRECT";
   }

最後一點特別重要,因為它允許您的系統嘗試代理,然後退回到無代理。

還有一個myIpAddress可以使用的變量,如下所示:

function FindProxyForURL(url, host)
{
    if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
        return "PROXY 192.168.1.1:8080";
    else
        return "DIRECT";
}

儘管某些瀏覽器/系統在這一點上感到困惑,並且可能會返回 127.0.0.1

答案2

以下是一些可以一鍵切換所有網路屬性的免費產品:

E使用免費IP切換器
網路設定人

NetSetMan 具有更廣泛的功能集,免費版本可翻轉:IP 位址、閘道(包括公制)、DNS 伺服器、WINS 伺服器、IPv4 / IPv6、WiFi 管理、電腦名稱、工作群組/網域、DNS 網域/後綴、預設印表機、網路磁碟機、NIC 狀態和SMTP 伺服器。

影像

答案3

TCP/IP管理員似乎是一個公平的解決方案,它也是開源的。它能夠在設定檔之間切換,甚至可以建立 BAT 腳本來進行更多操作!

相關內容