IE局域网设置代理的自动配置脚本介绍

上传人:夏** 文档编号:470743506 上传时间:2023-02-01 格式:DOCX 页数:11 大小:32.70KB
返回 下载 相关 举报
IE局域网设置代理的自动配置脚本介绍_第1页
第1页 / 共11页
IE局域网设置代理的自动配置脚本介绍_第2页
第2页 / 共11页
IE局域网设置代理的自动配置脚本介绍_第3页
第3页 / 共11页
IE局域网设置代理的自动配置脚本介绍_第4页
第4页 / 共11页
IE局域网设置代理的自动配置脚本介绍_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《IE局域网设置代理的自动配置脚本介绍》由会员分享,可在线阅读,更多相关《IE局域网设置代理的自动配置脚本介绍(11页珍藏版)》请在金锄头文库上搜索。

1、IE局域网设置代理的自动配置脚本介绍如果上班是使用代理上网,再家不使用,天天调太麻烦,可通过代理自动配置脚本 Proxy Auto-Config File来控制用户通访问internet。只要使用该文档编写脚本来实现,该脚本可以根据条件使用指定的代理。控制的范围有:使用代理或不使用代理;使用哪个代理;使用哪种类型的代理,类型包括:HTTP、HTTPS、FTP、SOCK;控制的方式有:根据客户端【本地】的IP地址来控制;根据访问的服务端【访问的主机服务器】IP地址来控制;根据访问的日期和时间来控制;本文内容包括:常用脚本如何在IE中设置?脚本语法介绍1 常用脚本1.1 根据客户端网段选择代理fu

2、nction FindProxyForURL(url, host) /*如何客户端IP地址段在 192.168.0.0 到 192.168.0.255, 使用HTTP代理 192.168.0.1:80*/ /*如何客户端IP地址段在 192.168.1.0 到 192.168.1.255, 使用HTTP代理 192.168.0.1:80*/ /*其它的直接访问 */ if ( shExpMatch(url, http:/* ) & isInNet(myIpAddress(),192.168.0.0,255.255.255.0) ) return PROXY 192.168.0.1:80; el

3、se if ( shExpMatch(url, http:/* ) & isInNet(myIpAddress(),192.168.1.0,255.255.255.0) ) return PROXY 192.168.1.1:80; else return DIRECT;1.2 根据访问的服务器选择代理function FindProxyForURL(url, host) /* 如果访问的服务器网段为 10.0.0.0 至 10.255.255.255 或者 访问本地 127.0.0.1 , 直接访问*/ /* 其它的按顺序使用两个代理 */ if ( isInNet(host, 10.0.0.

4、0, 255.0.0.0) | isInNet(host, 127.0.0.1, 255.255.255.255) ) return DIRECT; else return PROXY 192.168.0.1:80; PROXY 92.168.1.1:80;1.3 根据时间选择代理function FindProxyForURL(url, host) /* 如果是上班时间【周一到周五的9点到17点】使用代理,其它情况直接访问*/ if ( weekdayRange(MON, FRI) & timerange(9, 17) ) return PROXY 192.168.0.1:80; PROXY

5、 92.168.1.1:80; else return DIRECT;2 如何在IE中设置?如果您的PAC文件已经没有错误,您可以在IE中设置来使用该PAC文件。具体做法如下:1. 打开IE,在“工具”菜单中选择“Internet选项”。2. 点击“连接”,“局域网设置”。3. 选择“使用自动配置脚本”,并输入脚本的位置,比如: file:/D:setDatpac设置代理脚本pac-time.js3 脚本语法介绍3.1 主函数如何编写PAC文件呢,首先必须定义一个主函数FindProxyForURL,格式如下:function FindProxyForURL(url, host).浏览器在访问

6、每个url的时候都会调用该函数:ret = FindProxyForURL(url, host);函数中的参数:url 是浏览器访问的完整url地址,例如http:/openattitude.irixs.org/http:/ 是从完整url中截取的子字串,内容是从:/开始到下面第一个/或者:中间的部分,以上面url为例分别为192.168.1.1我们来仔细看一下第三个例子,host字段中不包含端口8000。如果有需要,端口号可以从url字段中提取。ret 是字符串变量,根据FindProxyForURL()返回值返回单个字符串。如果返回NULL,即返回空字符串,则浏览器不会使用任何代理,这样浏

7、览器将无法打开网页。返回值可以是下列三种结构块的任意组合,每个不同的块之间用分号分割。DIRECT - 不调用代理,直接连接PROXY host:port - 调用指定代理(host:port)SOCKS host:port - 调用指定SOCKS代理(host:port)如果是选用由分号分割的多块设置,按照从左向右,最左边的代理会被最优先调用,除非浏览器无法成功和proxy建立连接,那么下一个配置就会被调用。如果浏览器遇到不可用的代理服务器,浏览器将在30分钟后自动重试先前无响应的代理服务器,一个小时后会再次进行尝试,依此类推,每次间隔时间为 30 分钟。这意味着,如果暂时关闭代理服务器,客

8、户机至多在其重新启动后 30 分钟便会重新开始使用该代理服务器。如果所有代理服务器均停用且未指定DIRECT 返回值,浏览器将询问用户是否暂时忽略代理服务器而尝试直接进行连接。Navigator 将询问是否应在 20 分钟后重试代理服务器,接着过 20 分钟会再次询问,依此类推,每次间隔时间为 20 分钟。举例PROXY :8080; PROXY :8081; DIRECT3.2 条件函数下面是可用于FindProxyForURL()函数体中的条件函数:基于主机名的函数:isPlainHostName()dnsDomainIs()localHostOrDomainIs()isResolvabl

9、e()isInNet()时间条件函数:weekdayRange()dateRange()timeRange()实用条件函数:dnsResolve()myIpAddress()dnsDomainLevels()shExpMatch()4 基于主机名的函数4.1 isPlainHostName(host)判断访问的是否为本地主机host 是不包含端口号的,url中的主机名(下同)。如果主机名中不包含域名则返回true。如:isPlainHostName(www) 返回 true.isPlainHostName() 返回 false.举例:http:/myservername/ 的方式访问,如果是本

10、地主机直接连接,否则使用代理 function FindProxyForURL(url, host) if (isPlainHostName(host) return DIRECT; else return PROXY proxy:80; 4.2 dnsDomainIs(hostname, domain)domain 用于和hostname进行比较的域名。如果hostname的域名和domain的值相匹配则返回true。如:dnsDomainIs(, ) 返回 true.dnsDomainIs(www, ) 返回 false.dnsDomainIs(, ) 返回 false.举例:见下一函数4

11、.3 localHostOrDomainIs(hostname, hostdom)hostdom 是要进行匹配的指定的主机名。如果hostname和指定的hostdom相匹配,或者在hostname中没有指定要进行匹配的域名部分,函数返回true。如:localHostOrDomainIs(www. , www. ) 返回 true (exact match).localHostOrDomainIs(www, www. ) 返回 true (hostname match, domain not specified).localHostOrDomainIs(, www. ) 返回 false (

12、domain name mismatch).localHostOrDomainIs(, www. ) 返回 false (hostname mismatch).举例:如果属于域的主机名,而域名不是和的直接连接,否则使用代理访问。 function FindProxyForURL(url, host) if (isPlainHostName(host) | dnsDomainIs(host, ) & !localHostOrDomainIs(host, ) & !localHostOrDomainIs(host, ) return DIRECT; else return PROXY proxy:

13、80; 4.4 isResolvable(host)如果成功解析主机名则返回true。如:isResolvable() 返回 true (除非由于防火墙或某些其他原因导致DNS无法解析).isResolvable(bogus.domain.foobar) 返回 false.举例:主机名能否被dns服务器解析,如果能直接访问,否则就通过代理访问。 function FindProxyForURL(url, host) if (isResolvable(host) return DIRECT; else return PROXY proxy:80; 4.5 isInNet(host, pattern, mask)host 在这里可以是DNS主机名,比如,也可以是IP地址。如果传递的是主机名,此函数会将其解析成 IP 地址。patte

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 工业自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号