解决问题:
在外网、公司内无线网访问公司本地局域网有线地址不能直接访问;
在外网访问公司无线局域网,本地局域网不能访问;
访问需要设置代理,每次关闭和切换代理需要在Intenet代理设置中开启和关闭,太麻烦!
以下为配置自动代理的方法及说明↓
1,新建文本文档,把代码复制到问本文档中,更改名称为myproxy.pac,按需修改代理地址、端口和ip,逻辑按照js语法自己修改
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {//本地地址直接连接
return "DIRECT";
}
if (shExpMatch(url, "*10.8.*")) {//访问10.8的网段的ip地址需要走代理
return "PROXY ip:port";
}
if (shExpMatch(myIpAddress(), "192.168.8.*") || shExpMatch(myIpAddress(), "192.168.2.*")) {//当我的ip地址为192.168.2.*/192.168.8.*不需要走代理
return "DIRECT";
}
if (shExpMatch(url, "*192.168.8.*")) {//否则访问192.168.8.*的网段的ip地址需要走代理
return "PROXY ip:port";
}
return "DIRECT";
}
2,win+R 输入inetcpl.cpl 打开Intenet 属性,选择连接,局域网设置,勾选自动配置脚本,把之前myproxy.pac地址复制到框内,地址前面加上file:// ,例:file://c:/myproxy.pac
使用本地文件方式发现google chrome(版本 83.0.4103.7(正式版本) (64 位))配置不生效,而其他浏览器(双核浏览器,IE内核: 11.0.9600.19596|chrome内核: 69.0.3947.100)可以,把文件放到云服务器或其他可以直接访问到的地方,可以直接访问到的地址 例:http://ip:pott/myproxy.pac,配置生效,可以尝试更低版本google chrome或者使用http访问方式配置
3,关闭浏览器重新打开
常用方法说明:
return "DIRECT":直连
return "PROXY ip:port";proxy代理
return "SOCKS ip:port";socks代理
return "PROXY DIRECT; PROXY ip1:port1; SOCKS ip2:port2 ";对于所有网站都直接进行连接,如果不能连接就尝试使用http代理ip1进行连接,如果仍然无法连接就尝试SOCKS代理ip2
isPlainHostName(host):是否本地连接;
shExpMatch(url,reg):正则验证url是否匹配
myIpAddress():返回我的ip地址
isResolvable(host):判断地址是否能正常解析
dnsDomainIs(host, "")、localHostOrDomainIs(host, ""):判断所访问主机是否属于某个域和某个域名
isInNet(host, "", ""):判断IP是否在某个子网内
dnsResolve(host):解析地址得到ip
dnsDomainLevels(host):返回被访问主机域名级数
weekdayRange(),判断当前日期日否在某一星期段
详细说明可参考:https://blog.csdn.net/hj33053252/article/details/7541368
4,如果不想使用脚本,可以使用bat命令手动开启和关闭IE代理
开启代理:
@echo off
echo 【修改IE】
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "ip:port" /f
rem “对于本地地址不使用代理服务器”这个勾,不会勾选上
::reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "忽略的地址" /f
rem “对于本地地址不使用代理服务器”这个勾,会勾选上
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "129.*;127.0.0.1;<local>" /f
关闭代理:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f