我有一台运行 Windows 7 Professional 的笔记本电脑。我每天连接两个无线网络:
在我的 iPad 和 iPhone 上,我有两个 WIFI 网络配置文件(一个用于家庭,一个用于工作)。工作之一指定了代理服务器设置。家庭没有指定代理。一切都很好,我不需要在从家里搬到办公室时改变设置,反之亦然。
然而,在我的笔记本电脑上,我似乎无法做到这一点。我当然可以连接到两个网络,但是当我在工作时,我必须去更改代理设置(在 Internet 选项中)才能使用网络。当我在家时,我必须去关掉它们。这是一件小事,但考虑到这是我每天必须做的事情,这有点烦人。
有什么方法可以让 Windows 根据我连接的网络自动打开或关闭代理设置?
今天的大多数浏览器都支持代理配置脚本。这只是一些 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";
}
Run Code Online (Sandbox Code Playgroud)
最后一点特别重要,因为它允许您的系统尝试代理,然后回退到无。
还有一个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";
}
Run Code Online (Sandbox Code Playgroud)
尽管某些浏览器/系统在这一点上感到困惑,并且可能会返回 127.0.0.1
以下是一些可以一键切换所有网络属性的免费产品:
NetSetMan 具有更广泛的功能集,免费版本可以翻转:IP 地址、网关(包括公制)、DNS 服务器、WINS 服务器、IPv4 / IPv6、WiFi 管理、计算机名称、工作组/域、DNS 域/后缀、默认打印机、网络驱动器、NIC 状态和 SMTP 服务器。
归档时间: |
|
查看次数: |
18078 次 |
最近记录: |