在封锁中访问.blogspot.com的方法,以及proxy.pac的其他用法
在封锁中访问.blogspot.com的方法。
使用Proxy auto-configuration (PAC,自动配置代理服务器文件)。优点:自动为指定网址(url)配置代理服务器,一劳永逸。 缺点:设置起来比较麻烦。
有关PAC的详细介绍大家可以访问维基百科或者 网景公司(Netscape,大家还记得吗?)。接下来介绍如何用PAC文件解决o们的问题:
3.1 打开记事本(或者其他文本编辑器),将 小狼诺夫写的内容粘贴进去,并保存为proxy.pac文件。
function FindProxyForURL(url, host)
{
if ( dnsDomainIs(host, ".blogspot.com"))
return "PROXY 72.14.219.190:80";
else
return DIRECT;
}
3.2 打开IE-->工具-->internet选项-->连接-->局域网设置,选中使用自动配置文件。输入刚才新建的pac文件地址,如:file://c:/proxy.pac。这样你就可以在ie下正常访问blogspot.com网站了 。
3.3 打开Firefox-->工具-->选项-->高级-->网络-->设置;选中自动代理配置URL;输入输入刚才新建的pac文件地址,如:file://c:/proxy.pac。这样你就可以在firefox下正常访问blogspot.com网站了。
下面附上几个proxy.pac的实例。。。大家学习一下。
自动配置IE代理脚本
用本本上网时,往返家里和单位,因为单位是用的代理上网,家里是直接连接.因此每次都要修改IE的代理设置,虽然是个小事,但是每次都要修改总是有点烦
,于是参考GOOGLE,写了一个自动配置代理的脚本.这样无论在家和在公司,只要连上局域网就可以上网了
.
function FindProxyForURL(url,host){
if((isPlainHostName(host))||shExpMatch(url,"http://127.0.0.1/*")||isInNet(host,"192.168.0.0", "255.255.255.0")){
return "direct";
} else {
if(myIpAddress()=="192.168.0.49")
return "PROXY 192.168.0.6:808";
else
return "direct";
}
}

把以上代码另存为proxy.pac的文件,如:c:\proxy.pac,然后在IE的菜单里"工具"->"INTEL选项"->"连接"->局域网设置
把使用自动配置脚本选上,然后在地址栏填入file://c:/proxy.pac,注意file后是两斜杠,要使设置生效,需要关闭IE再重新打开.
现在我们介绍下这个proxy.pac脚本文件,脚本的语法是js语法,js的内置函数可以使用,要实现自动配置代理,需要实现FindProxyForURL这个函数,其参数url代表要访问的连接,host代表要访问连接的主机名,该函数有三个返回参数
direct:直接连接
proxy IP:PORT
socket IP:PORT
返回结果大小写不敏感
PAC的其他内置语法见http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
PAC脚本另外一个重要的应用是多台代理服务器并存的情况下,通过pac脚本的控制:
- 用户随机选择使用多台代理服务器中的任意一台来达到流量负载均衡的目的;
- 管理员通过PAC脚本控制用户使用和不使用某台代理服务器,这样可以空出时间对代理服务器进行维护;
- 让服务器工作在主备模式,当主服务器宕机时,会自动切换到其它备用服务器而不会中断服务;
- 根据访问目的地的不同,自动选择最佳代理服务器。
下面列举几个PAC的实例,顺便学习下它的语法
a、isPlainHostName(host),本例演示判断是否为本地主机,如http://myservername/
的方式访问,如果是直接连接,否则使用代理
b、dnsDomainIs(host, "")、localHostOrDomainIs(host, ""),本例演示判断访问主机
是否属于某个域和某个域名,如果属于.company.com域的主机名,而域名不是
www.company.com和home.company.com的直接连接,否则使用代理访问。
c、isResolvable(host),本例演示主机名能否被dns服务器解析,如果能直接访问,否
则就通过代理访问。
d、isInNet(host, "", ""),本例演示访问IP是否在某个子网内,如果是就直接访问,
否则就通过代理,例子演示访问清华IP段的主页不用代理。
e、shExpMatch(host, ""),本例演示根据主机域名来改变连接类型,本地主机、*.edu、
*.com分别用不同的连接方式。
f、url.substring(),本例演示根据不同的协议来选择不同的代理,http、https、ftp、
gopher分别使用不同的代理。
g、dnsResolve(host),本例演示判断访问主机是否某个IP,如果是就使用代理,否则直
接连接。
h、myIpAddress(),本例演示判断本地IP是否某个IP,如果是就使用代理,否则直接使
用连接。
i、dnsDomainLevels(host),本例演示访问主机的域名级数是几级,就是域名有几个点
如果域名中有点,就通过代理访问,否则直接连接。
j、weekdayRange(),本例演示当前日期的范围来改变使用代理,如果是GMT时间周三
到周六,使用代理连接,否则直接连接。
k、最后一个例子是演示随机使用代理,这样可以好好利用代理服务器。
2 条评论:
我对代码一类的东西实在提不起兴趣..
写这么多还是鼓励一个先!
这个太专业了,看不懂啊
发表评论