自动配置脚本文件的写法与用途

自动配置脚本文件的写法与用途
自动配置脚本文件的写法与用途

自动配置脚本文件的写法与用途(原创)

http://deepspace.xmublog.Org/2006/10/proxypac.html

因为女朋友在深圳大学,他们学校的网络比较变态。如果访问了教育网指定的免费ip 之外的ip,每m 6元钱。

我本来想教她用二级代理之类的,不过无奈这个对她来讲太难了。所以权宜之下,我只好让她使用ie的自动配置脚本文件来限制以防万一,至少能保证她在使用浏览器上网的时候不会因为不小心访问了收费的ip而挨宰。

虽然说这么变态的学校不多,但是终究还是有的,所以把自动配置脚本文件的写法写出来,如果有需要的朋友可以参考着来。

首先我们先来介绍一下自动配置脚本文件:

打开ie,点击"工具"--"internet选项"--"局域网设置",你就可以看到"使用自动配置脚本"

自动配置脚本起的作用就是,当ie访问网页的时候会根据脚本文件里面界定的内容来访问。比方说,你在脚本文件里面限定了访问某些ip使用某个代理的时候,访问另外一些ip使用另外的代理,这就很方便通过脚本文件来完成。

一个pac文件其实就是一个文本文件,最简单的格式就是包含一个叫findproxyfOrurl 的jscript函数,ie通过传入两个变量来调用这个函数,一个是用户浏览的地址url全路经,一个是这个url中的主机名部分(host)。

这个findproxyfOrurl函数有三种可能的字符串返回值,一是"direct",就是直接连接,不通过代理;二是"proxy proxyaddr:pOrt",其中proxyaddr和pOrt分别是代理的地址和代理的端口;三是"socks socksaddr:pOrt",其中socksaddr和pOrt分别是socks代理的地址和端口,一个自动代理文件可以是多个选择的组合,其中用分号(;)隔开,如:

function findproxyfOrurl(url,host)

{

if (host == "https://www.360docs.net/doc/ec5756717.html,")

return "direct";

return "proxy myproxy:80;

proxy myotherproxy:8080;

direct";

}

下面是代理脚本可能用到的函数和说明(英文不好的朋友可以直接跳过去看应用):pac helper functions

dnsdomainis(host, domain) returns true if the host is part of the specified domain, false otherwise.

isinnet(hostname, resolves the hostname And subnet ip, subnet mask) returns true if the hostname is within the subnet

specified by the ip address And the subnet mask, false otherwise.

isplainhostname(host) returns true if there are no dots in the hostname, false otherwise.

isresolvable(host) internet explOrer tries to resolve the hostname through dns And returns true if successful, false otherwise.

localhostOrdomainis returns true if the host matches (host, domain) the host pOrtion of the domain, Or if the host matches the host And domain pOrtions of the domain, false otherwise. (executed only fOr urls in the local domain.)

dnsdomainlevels(host) returns the number of dots in the hostname.

dnsresolve(host) returns a string containing the ip address of the specified host.

myipaddress( ) returns a string containing the local machine's ip address.

shexpmatch(url, shexp) returns true if the supplied url matches the specified shell expression, false otherwise.

daterange(parmlist) returns true if the current date falls within the dates specified in parmlist, false otherwise.

timerange(parmlist) returns true if the current time falls within the times specified in parmlist, false otherwise.

weekdayrange(parmlist) returns true if today is within the days of the week specified in parmlist, false otherwise.

下面是各个函数应用的例子:

a、isplainhostname(host),本例演示判断是否为本地主机,如http://myservername/

的方式访问,如果是直接连接,否则使用代理

function findproxyfOrurl(url, host)

{

if (isplainhostname(host))

return "direct";

else

return "proxy proxy:80";

}

b、dnsdomainis(host, "")、localhostOrdomainis(host, ""),本例演示判断访问主机是否属于某个域和某个域名,如果属于https://www.360docs.net/doc/ec5756717.html,域的主机名,而域名不是https://www.360docs.net/doc/ec5756717.html, 和https://www.360docs.net/doc/ec5756717.html,的直接连接,否则使用代理访问。

function findproxyfOrurl(url, host)

{

if ((isplainhostname(host) ││

dnsdomainis(host, "https://www.360docs.net/doc/ec5756717.html,")) &&

!localhostOrdomainis(host, "https://www.360docs.net/doc/ec5756717.html,") &&

!localhostOrdomainis(host, "https://www.360docs.net/doc/ec5756717.html,"))

return "direct";

else

return "proxy proxy:80";

}

c、isresolvable(host),本例演示主机名能否被dns服务器解析,如果能直接访问,否则就通过代理访问。

function findproxyfOrurl(url, host)

{

if (isresolvable(host))

return "direct";

else

return "proxy proxy:80";

}

d、isinnet(host, "", ""),本例演示访问ip是否在某个子网内,如果是就直接访问,否则就通过代理,例子演示访问清华ip段的主页不用代理。

function findproxyfOrurl(url, host)

{

if (isinnet(host, "166.111.0.0", "255.255.0.0"))

return "direct";

else

return "proxy proxy:80";

}

e、shexpmatch(host, ""),本例演示根据主机域名来改变连接类型,本地主机、*.edu 、*.com分别用不同的连接方式。

function findproxyfOrurl(url, host)

{

if (isplainhostname(host))

return "direct";

else if (shexpmatch(host, "*.com"))

return "proxy comproxy:80";

else if (shexpmatch(host, "*.edu"))

return "proxy eduproxy:80";

else

return "proxy proxy:80";

}

f、url.substring(),本例演示根据不同的协议来选择不同的代理,http、https、ftp、gopher 分别使用不同的代理。

function findproxyfOrurl(url, host)

{

if (url.substring(0, 5) == "http:") {

return "proxy proxy:80";

}

else if (url.substring(0, 4) == "ftp:") {

return "proxy fproxy:80";

}

else if (url.substring(0, 7) == "gopher:") {

return "proxy gproxy";

}

else if (url.substring(0, 6) == "https:") {

return "proxy secproxy:8080";

}

else {

return "direct";

}

}

g、dnsresolve(host),本例演示判断访问主机是否某个ip,如果是就使用代理,否则直接连接。

unction findproxyfOrurl(url, host)

{

if (dnsresolve(host) == "166.111.8.237") {

return "proxy secproxy:8080";

}

else {

return "proxy proxy:80";

}

}

h、myipaddress(),本例演示判断本地ip是否某个ip,如果是就使用代理,否则直接使用连接。

function findproxyfOrurl(url, host)

{

if (myipaddress() == "166.111.8.238") {

return "proxy proxy:80";

}

else {

return "direct";

}

}

i、dnsdomainlevels(host),本例演示访问主机的域名级数是几级,就是域名有几个点如果域名中有点,就通过代理访问,否则直接连接。

function findproxyfOrurl(url, host)

{

if (dnsdomainlevels(host) > 0) { // if number of dots in host > 0

return "proxy proxy:80";

}

return "direct";

}

j、weekdayrange(),本例演示当前日期的范围来改变使用代理,如果是gmt时间周三到周六,使用代理连接,否则直接连接。

function findproxyfOrurl(url, host)

{

if(weekdayrange("wed", "sat", "gmt"))

return "proxy proxy:80";

else

return "direct";

}

k、最后一个例子是演示随机使用代理,这样可以好好利用代理服务器。

function findproxyfOrurl(url,host)

{

return rAndomproxy();

}

function rAndomproxy()

{

switch( math.floOr( math.rAndom() * 5 ) )

{

case 0:

return "proxy proxy1:80";

break;

case 1:

return "proxy proxy2:80";

break;

case 2:

return "proxy proxy3:80";

break;

case 3:

return "proxy proxy4:80";

break;

case 4:

return "proxy proxy5:80";

break;

}

}

利用上面的函数和例子说明,大家就可以写出比较复杂有效的自动代理脚本。

当然大家是否觉得很头痛,不要紧,胖大海已经写好了proxy.pac文件,大家可以到这里下载下来放在本机,或者直接直接网络访问。

如果放在本机的话,比方说你放在e盘跟目录下,那么地址请写成file://e:/proxy.pac

这个proxy文件是根据05年12月cernet公布的免费ip以及深圳大学自己界定的某些免费域名编写的。

主要用到了isinnet与shexpmatch两个函数,各位朋友可以根据自己的需要去更改。

平面设计电脑配置清单

平面设计电脑配置清单 导语:了解电脑配置清单,可以选择适合自己的电脑。 以下是带来的平面设计电脑配置清单,供各位参考,希望对大家有用。 平面设计电脑配置清单配件名称品牌型号参考价格(元) 处理器:Intel酷睿四核i5-4570 Haswell全新架构盒装CPU¥1339 散热器:盒装自带 主板:微星B85M-G43主板(IntelB85/LGA1150)¥479显卡:微星R7 260X GAMING 1G 1075 MHz/6000 MHz1GB/128bit GDDR5 PCI-E¥899 内存:金士顿骇客神条Blu系列DDR3 1600 8GB台式机内存¥519 硬盘:西部数据蓝盘1TB SATA6Gb/s 7200转64M台式机硬盘¥ 机箱:撒哈拉飞行者AX8限量版中塔机箱(U3/自带三把风扇/双风扇调速器/背线/SSD/磁吸式半透滑盖)¥209电源:航嘉jumper450B电源(额定 450W/80plus铜牌/主动PFC/宽电压/智能温控)¥269 显示器:AOCI2351Fe23英寸LED背光IPS宽屏液晶显示器(黑色)¥899 键鼠装:用户自配或商家赠送 总价:4970元 电脑硬件点评: 对于平面设计用户来说,对电脑CPU性能是最为注重的,根据5000元左右的预算,最适合搭配的还是Intel酷睿i5系列处理器。本套配置为大家推荐的是时下最新Haswell平台的四代i5-4570高规格CPU,默认主频,并且拥有6M大的三级缓存,性能出众,是一款优异的中高端处理器。平面设计使用的电脑配置 Intel酷睿i5-4570四核处理器

显卡方面,由于PS设计、平面设计等对显卡要求并不是特别高,因此我们也没有必要花费大量的预算在显卡身上,本套配置为大家选用的是A卡平台新架构的R7260X显卡。 微星R7 260X显卡基于最新核心、拥有1GBGDR5主流显存,整体性能定位中端主流水平,具备各类主流游戏性能,对于要求不太高的平面设计与PS等足够。 微星R7 260X GAMING 1G显卡 显示方面,对于设计用户来说,大屏高清显示器很有必要,本套配置为大家选配的是23英寸1080P全高清显示器,基于成熟的IPS技术,具备出色的色彩还原以及可视角度等,对于设计用户来说,这款不够900元的大屏显示器会是可以的性价比之选。【电脑配置清单】2500元左右CPU:AMD 870K四核处理器; 显卡:R7 240独显1G DDR5显存; 内存:4G DDR3 1600; 主板:A88主板; 硬盘:128GB固态硬盘有更大存储需求的用户加一块机械硬盘组成双硬盘; 电源:300W额定电源。 AMD870K处理器性能接近酷睿i3,搭配中低端独显R7240,对LOL等游戏依然流通运行,适合不玩其他大型游戏的网友,使用固态硬盘告别机械硬盘的噪声和龟速。 CPU:AMD A8-7650k处理器; 显卡:R7 250独显2G DDR5显存; 内存:4G DDR3 1600; 主板:A88主板;

办公电脑配置推荐

台式电脑 处理器:Intel奔腾G3220 Haswell全新架构盒装CPU ¥389.00 散热器:盒装自带 主板:技嘉H81M-DS2主板 (Intel H81/LGA 1150) ¥399.00 显卡:CPU自带核心显卡 内存:金士顿(Kingston)DDR3 1600 4GB ¥279.00 硬盘:西部数据蓝盘 1TB SATA6Gb/s 7200转64M 台式机硬盘(WD10EZEX) ¥379.00 机箱:酷冷至尊毁灭者经典U3版中塔式电脑机箱¥199.00 电源:安钛克额定350W VP 350P 电源 (主动式PFC/12CM静音风扇/黑化外型设计)¥209.00 显示器:用户自选¥1000.00 键鼠装:用户自选 合计金额:3250元

台式电脑 CPU: AMD Athlon64 X2 5200+(65纳米/盒) 1 ¥ 420 主板:冠盟 GMAX780 1 ¥ 399 内存:超胜 2GB DDR2 800 1 ¥ 119 硬盘: WD 320GB 7200转 16MB(串口/YS) 1 ¥ 320 显卡:蓝宝石 HD4650 海外版 1 ¥ 380 LCD: EMC A71 1 ¥ 499 机箱:百盛网飚四号W103 1 ¥ 80 电源:百盛绿盾380 1 ¥ 180 键鼠装:力胜 KB-53 超薄时尚键盘光学组合 1 ¥ 55 音箱:慧海 D-166 1 ¥ 50 合计金额:2502 元

台式电脑 处理器:Inte酷睿i3-4130 Haswell全新架构盒装CPU (LGA1150/3.4GHz/3M三级缓存/54W/22纳米)¥769.00 散热器:盒装自带 主板:技嘉B85M-HD3主板 (Intel B85/LGA 1150) ¥499 显卡:技嘉(GIGABYTE) GV-N75TOC-2GI GTX750Ti 1033MHz-1111MHz/5400MHz 2GB/128bit GDDR5显卡¥950.00 内存:宇瞻经典 DDR3 1600 4G 台式机内存¥229.00 硬盘:西部数据(WD)蓝盘 1TB SATA6Gb/s 7200转64M ¥359.00 机箱:酷冷至尊特警366 U3版中塔机箱 (USB3.0/全冲孔网防尘/SSD)¥119.00 电源:航嘉jumper400 电源(额定400W/80plus 白牌/背部走线)¥249.00 显示器:用户自选¥1000.00 键鼠装:商家赠送或自选 合计金额:4600元

电脑采购合同范本

电脑采购合同 甲方(采购方): 地址:西安市 电话号码: 乙方(供货方): 地址: 电话号码: 今由甲方向乙方采购一台电脑,本着友好合作,互惠互利的原则,依据《中华人民共和国合同法》等相关法律法规规定,特制定本合同。 第一条采购产品名称、价格和规定。 1、甲方向乙方定购的电脑,共计1 台(配置详见附件1:电脑配置单),单价为:5300元(大写:伍仟叁佰圆整)总金额为:5300 元。(大写:伍仟叁佰圆整) 第二条产品的验收、售后服务及质保 1、乙方按照双方约定的配置供货,甲方按照配置单收货。 2、验收通过标准应按照所有产品部件均为协议附件之约定的部件进行,乙方需保证提供相应配置的货物。 3、乙方对所提供的产品在质保期内出现的品质问题,在机箱锁具没有打开、设备没有人为外力损坏的情况下发生的一切设备故障,乙方将按照相应配件厂商质保标准提供免费维修、免费更换等无偿服务。 4、乙方向甲方提供购买货物后一年时间的免费维修。 第三条货款结算 当乙方按照合同,按时安装好电脑后,甲方确认无误。甲方需一次性付清货款(小写:5300元大写:伍仟叁佰圆整)

第四条甲方的权利和义务 1、甲方和乙方应充分协商,制定本合同约定的机器配置。在配置确定后,若有任何调整意向,应及时向甲方说明。 2、甲方有对电脑设备的采购建议和调整的权利,并有对乙方工作的监督权。 3、甲方有按时交付货款的义务,但若甲方在电脑使用过程中发现因乙方失误或者恶意欺骗导致电脑出现使用问题或者质量问题时,可拒绝支付费用,并要求乙方返还所有费用,并追究乙方的违约责任。 第五条乙方的权利和义务 1、乙方保证按照配置单向甲方供货。如出现定制的配件型号无货或数量不齐时,则应及时向甲方说明协商调整,如因乙方单方面原因出现有品种、数量、规格、品质不符合合同规定的,应承担违约责任;造成甲方损失的,应承担甲方损失的赔偿义务。 2、乙方确保本合同中的安装、维修工作的及时到位,并保证合同约定电脑配置、质量,负责应承担违约责任。 3、乙方应严格按照附件电脑配置保质期及合同条款约定承担维修和维护义务,若因乙方原因不及时进行电脑维修,甲方可追究乙方违约责任,造成损失的,可要求乙方进行赔偿。 第六条争议的解决 本协议发生纠纷,甲乙双方应当及时协商解决,协商不成时,任何一方均可向合同签订地人民法院提起诉讼。 第七条附则 1、本合同含正文和附件两部分共四页,一式两份,由甲乙双方签字盖章后生效,甲乙双方各持一份,具有同等效力。 2、本合同的附件作为合同正式文本,与合同正本具有同等效力。

台式电脑配置清单60种

CPU: I5 4590 散1100 散热:九州风神玄冰智能60 主板:技嘉B85-HD3 550 内存:威刚8G DDR3 1600 360 硬盘:希捷1TB 330 显卡:七彩虹GTX960烈焰战神U 1400 电源:全汉蓝爆经典450 260 机箱:GAMEMAX碳60 碳钢200 总计:4260 CPU: I5 4590 散1100 散热:九州风神玄冰智能60 主板:技嘉B85-HD3 550 内存:威刚4G DDR3 1600 340 硬盘:希捷1TB 330 显卡:七彩虹GTX960烈焰战神U 1400 电源:全汉蓝爆经典450 260 机箱:幻影闪电09 100 总计:4140 CPU :i5 4460 散1000 散热:九州风神玄冰智能60 主板:微星B85M-P33 V3 360 内存:威刚8G DDR3 1600 330 硬盘:希捷1TB 330 显卡:映众GTX750 2G冰龙海量750 电源:全汉蓝爆S420 210 机箱:幻影闪电09 100 合计:3140 CPU :i5 4590 散1090 散热:九州风神玄冰智能60 主板:技嘉B85M-DS3H-A 420 内存:威刚8G DDR3 1600 330 硬盘:希捷1TB 330 SSD : 三星850EVO 120G 390 显卡:索泰GTX660 2G雷霆990 电源:全汉蓝爆S420 220 机箱:撒哈拉GL6至尊完美背线版150 合计:3980 CPU :i5 4460 散1000 散热:九州风神玄冰智能60 主板:微星B85M-P33 V3 360 内存:威刚8G DDR3 1600 330 硬盘:希捷1TB 330 显卡:七彩虹IGameGTX960烈焰战神U 1400 电源:全汉蓝爆经典450 270 机箱:幻影骑兵100 合计:3850 CPU :inter G3250散330 散热:九州风神玄刃猎户20 主板:映泰B85MG金刚320 内存:威刚4G DDR3 1600 170 硬盘:希捷1TB 330 显卡:蓝宝石R7 240 1G 白金450 电源:台达VX300 190 机箱:幻影闪电09 100 合计:1910 CPU :i7 4790K 散片2020 散热:九州风神玄冰400 100 主板:华硕M7H玩家国度1850 内存:金士顿8G骇客神条DDR3 1866 350 硬盘:希捷1TB 330 固态:浦科特M6S 128GG 440 显卡:索泰GTX970 4G霹雳2290 电源:台达NX650 580 机箱:先马维京战士230 总计:8190 CPU :i5 4590 散1090 散热:九州风神冰凌MINI 40 主板:映泰B85MG金刚版320 内存:威刚4G DDR3 1600 170 硬盘:希捷1TB 320 显卡:映众GTX750 2G冰龙海量750 电源:台达VX300 190 机箱:幻影闪电09 100 合计:2980 CPU :AMD X4 860k 盒430 主板:技嘉A68M-DS2 350 内存:威刚4G DDR3 1600 170 硬盘:西数1TB 320 显卡:迪兰HD7770 超能2G 649 电源:台达VX300 190 机箱:幻影骑兵100 合计:2209 CPU:I5 4590 散1110 散热:九州风神冰凌mini 40 主板::映泰B85MG金刚版320 内存:威刚4G DDR3 1600 180 硬盘:希捷1TB 330 显卡:映众GTX750 2G冰龙海量750 电源:全汉蓝海S420 210

相关文档
最新文档