
我有一台運行 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
以下是一些可以一鍵切換所有網路屬性的免費產品:
NetSetMan 具有更廣泛的功能集,免費版本可翻轉:IP 位址、閘道(包括公制)、DNS 伺服器、WINS 伺服器、IPv4 / IPv6、WiFi 管理、電腦名稱、工作群組/網域、DNS 網域/後綴、預設印表機、網路磁碟機、NIC 狀態和SMTP 伺服器。
答案3
TCP/IP管理員似乎是一個公平的解決方案,它也是開源的。它能夠在設定檔之間切換,甚至可以建立 BAT 腳本來進行更多操作!