- 浏览: 589662 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (214)
- javaweb学习 (20)
- 算法 (7)
- oracle数据库 (18)
- PHP学习 (3)
- mysql数据库 (8)
- css (9)
- ajax (2)
- it生活 (1)
- 数据结构 (2)
- jsp (1)
- 设计模式 (3)
- struts1 (0)
- struts2 (0)
- spring (6)
- hibernate (2)
- tomcat (2)
- xml (0)
- javascript (16)
- java基础 (19)
- ASP.基础 (1)
- 非技术 (8)
- 女人的反常行为,女人爱哭,鲜花,爱,男人,电话,闺蜜,恋爱 (1)
- 计算机 (4)
- 互联网新闻 (1)
- 面试题 (1)
- c++ (1)
- 浏览器 (1)
- MyEclipse (0)
- 关系数据库 (1)
- 开发工具 (2)
- HTTP协议 (2)
- oracle性能优化 (1)
- java性能优化 (1)
- android (0)
- jquery (2)
- jdbc (2)
- 计算机系统 (1)
- linux (22)
- 网络安全 (1)
- java架构 (2)
- 软件工具 (1)
- nginx (4)
- chrome (1)
- SVN (1)
- jetty (1)
- 研发管理 (4)
- hadoop (3)
- eclipse (2)
- JSON (3)
- mysql (14)
- restful (1)
- vbox (1)
- maven (3)
- netty (1)
- Web前端 (1)
- HTML (1)
- 设计 (1)
- Redis (1)
- cassandra (1)
最新评论
-
itlang01:
推荐mybatis插件https://github.com/y ...
mysql设置修改时间,更新记录当前时间 -
longen2011:
客户端可以发送包含“Content-Encoding: gzi ...
HTTP消息头详细介绍 -
Tiro_Li:
很抱歉你指出了我博文中的错误,这个问题是由于maven-ar ...
mvn构建web项目异常处理 -
chen_lian:
似乎有点问题的是如果 输入 000009能够验证通过
js验证输入的值是否钱数 -
nicegege:
起来Rails的一个五颜六色的羽毛帽,现在是在地面上。 Twi ...
oracle数据库导出命令EXP
今天和一个朋友聊到了chrome的自动代理功能,很多人感觉这个功能非常方便,但大家或许不知道这个功能其实是继承自IE浏览器,而且在“遥远”的Windows 98时代IE就已经具有了这个功能。这个功能在IE中被称作Proxy Automatic Configuration简称PAC,这个功能在1996年由Netscape公司开发,随着被IE支持后成为一个业内统一标准。
那么我们在什么情况下需要用到PAC呢?简单的说就是我们需要对一部分网站需要用到特定的代理服务,比如我们公司的内部办公系统就需要用到一个公司的内部代理去访问,而这个代理又不能连接外网,这时候如果我们在访问这些网站时再手动设置代理就会非常麻烦。用PAC就会轻松得多。
如何配置PAC
PAC的配置方法非常简单,不需要安装任何软件或插件,只需用记事本建立一个脚步文件即可,我们可以把这个文件保存在硬盘的任何位置,也可以保存在服务器上,然后打开Internet选项 - 进入 连接 选项卡 - 点击 局域网选项 - 选中 使用自动配置脚本 选项 - 在地址里面填入你的文件位置,比如files://d:/goagent.pac ,即可完成配置。
PAC文件的内容
那么PAC文件中应该写些什么呢?其实这个文件只是一个在配置一个叫做FindProxyForURL(url, host)的JScript函数。比如这个文件的内容可以是:
function FindProxyForURL(url, host) { return "PROXY DIRECT; PROXY 192.168.0.1:8080; SOCKS 192.168.1.1:1080 "; } 这是一个最简单的PAC脚本,意思就是让对于所有网站都直接进行连接,如果不能连接就尝试使用http代理192.168.0.1进行连接,如果仍然无法连接就尝试SOCKS代理192.168.1.1。
通过上面的示例大家不难看出IE在调用这个函数的时候会传入两个变量来,一个是地址URL全路经,另一个是URL中的主机名部分。而函数在返回的时候可以是三种值,DIRECT代表直接连接,PROXY代表HTTP代理,SOCKS代表SOCKS类型代理。
典型应用
根据URL判断是否需要代理
function FindProxyForURL(url, host) {
if (shExpMatch(url,"*.facebook.com/*")) {
return "PROXY 127.0.0.1:8087";
}
return "DIRECT";
}
shExpMatch这个函数可能是写PAC脚本中最常用到的了,在本示例中的作用实现对于facebook 域名下的页面调用127.0.0.1:8087这个代理,而其他URL直接访问。
代理不能解析的主机
function FindProxyForURL(url, host)
{
if (isResolvable(host))
return "DIRECT";
else
return "PROXY 127.0.0.1:8087";
}
这个isResolvable函数实现的功能就是当某个主机域名不能被正常解析的时候就尝试代理访问,比如公司内部如果有独立的DNS而这台DNS又只解析内部地址,就可以利用这个函数自由的切换内外网了,当然也可以用来对付某些ISP的域名劫持。
在家庭和公司之间自动切换
function FindProxyForURL(url, host)
{
if (myIpAddress() == "192.168.0.254") {
return “PROXY 127.0.0.1:80″;
}
else {
return “DIRECT”;
}
}
如果你习惯在下班后将笔记本带回家中的话myIpAddress函数将会十分有用,示例中实现的作用是当本机ip为192.168.0.254的时候就使用127.0.0.1:80这个代理,否则直接连接。
随机选择代理
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;
}
}
这个示例中用了一个js中常见的随机数选择方法实现了在5个代理服务器中随机选择,这条函数的作者用意大概是平衡服务器使用量,但更重要是的是给我们打开了一个思路,让一些常见的js函数加入到PAC文件中或许能写出一些精彩有趣的函数来。
可用函数
以下列举的是可用于FindProxyForURL()函数体中的条件函数,这些函数的具体用法如果大家感兴趣请查阅互联网,这里就不详细介绍了:
基于主机名的函数:
isPlainHostName() dnsDomainIs() localHostOrDomainIs() isResolvable() isInNet()
相关的实用程序函数:
dnsResolve() myIpAddress() dnsDomainLevels()
基于URL/主机名的条件:
shExpMatch()
基于时间的条件:
weekdayRange() dateRange() timeRange() isPlainHostName(host)
PAC辅助函数功能:
dnsDomainIs(host, domain):
如果主机是指定域的一部分,否则返回false,则返回true。
isInNet(hostname, Resolves the hostname and subnet IP, subnet mask) :
sInNet(主机名,解决了主机和子网的IP地址,子网掩码)返回true,如果是子网内的主机名
指定IP地址和子网掩码,否则返回false。
isPlainHostName(host):
isPlainHostName(主机)返回true,如果没有点中的主机名,否则返回false。
isResolvable(host):
isResolvable(主机)Internet Explorer尝试解析主机名的DNS,如果成功,则返回true,否则返回false。
localHostOrDomainIs:
localHostOrDomainIs返回true,如果主机匹配的主机部分(主机,域)的域,或者如果主机匹配的主机和域的域部分,否则为false。 (仅在本地域中的URL)。
dnsDomainLevels(host):
返回点的数量的主机名。
dnsResolve(host):
dnsResolve(主机)返回一个字符串,其中包含指定的主机的IP地址。
myIPAddress( ):
myIPAddress()返回一个字符串,其中包含了本地计算机的IP地址。
shExpMatch(url, shexp):
所提供的URL,如果符合指定的shell表达,shExpMatch(URL,shexp)返回true,否则返回false。
dateRange(parmList):
如果当前日期在指定日期parmList,则返回true,否则返回false。
timeRange(parmList):
如果当前时间在parmList指定的时间范围内,返回true,否则返回false。
weekdayRange(parmList):
如果今天是在日的一周中指定的parmList,则返回true,,否则返回false。
转自:http://blog.sina.com.cn/s/blog_3dbdb89701013xy5.html
发表评论
-
列表转换树形
2018-01-18 00:33 803今日,java程序中碰到菜单权限枚举(Enum),把一组权 ... -
js单线程问题
2015-05-13 15:33 768最近想做一个东西,大概是这样的。浏览器的滚动条在body头 ... -
cdn无法访问的时候,访问原文件
2015-04-22 18:58 853访问cdn无法访问的时候,访问源文件 <script ... -
JS中的!=、== 、!==、===的用法和区别
2015-04-21 10:04 701... -
js文件\u开头的编码原来是unicode编码
2015-04-15 18:07 3368在js文件中发现一串编码,\u开头。起初以为是ASIIC码 ... -
js数组操作总结
2013-04-22 08:32 0js数组操作大全(转) ... -
一个简单数学问题用程序实现
2013-04-01 09:25 884现在盒子中有10个棋子,在盒子中加入20个棋子以后,白棋和黑 ... -
[转]详细总结js中的json对象
2012-11-06 11:29 21790使用JSON 进行数据传 ... -
[转]Node.js安装攻略
2012-11-06 10:03 1466什么是Node.js?还服务器端javascript?对于这个 ... -
[转]ECMAScript 实现继承机制 apply() call() prototype chaining原型链
2012-11-05 23:08 1051继承机制的实现 ... -
面向对象语言的特征
2012-11-05 11:34 11251.java和javascript是面向对 ... -
ECMAScript的Object类
2012-11-05 10:36 8861.ECMAScript中的object类与java里的jav ... -
web页面框架之间的数组访问
2012-05-17 17:45 0xx -
给大家推荐一个学习JavaScript的好地方
2012-04-27 17:41 9391.给大家推荐一个学习JavaScript的好地方,在线学习J ... -
查看js对象的所有属性而引发的问题
2012-03-22 17:32 23741.查看document.iframe1对象的所有属性。 ... -
js验证输入的值是否钱数
2011-11-09 17:11 55861.text文本框接受输入的值,输入的值要符合如下规则: ( ... -
JS正则总结
2011-11-03 16:12 10401.什么是正则表达式? ...
相关推荐
IE 代理 proxy IE自动切换代理
**IE代理切换工具详解** 标题中的“IE Proxy Swich”是一款专为Windows系统设计的代理切换工具,尤其适用于需要频繁更改网络代理设置的用户。它提供了便捷的方式,让用户能够在不同的代理配置之间快速切换,而无需...
### 自动切换IE代理设置:简单使用IE自动配置脚本 #### 1. IE自动配置脚本概述 ##### 1.1 定义 IE自动配置脚本是一种用于自动化管理Internet Explorer浏览器代理设置的技术手段。它能够根据用户访问的目标网址...
IE的代理切换插件。对于习惯使用IE的朋友可以使用Proxypal快速的在使用代理和不适用代理之间切换了。
IE代理服务器设置被禁用问题 收藏 有时管理员为了限制上网,将IE代理服务器设置禁用了,我们只要通过组策略将其启用即可。 单击“开始->运行”,输入“gpedit.msc”打开组策略: 对于IE5.0/6.0 ,依次...
Edit:hua.peng Date:2015/11/19 1.用于开启和设置IE浏览器中的局域网(LAN)代理服务器。
VBS脚本实现代理切换的功能,可能涉及到以下几个知识点: 1. **Visual Basic Script基础**:VBS是一种解释型的、面向对象的脚本语言,用于创建批处理任务、控制Windows操作系统、网页交互等。其语法简洁,易于学习...
本工具适合需要经常切换网络环境的用户,如笔记本用户,在公司使用代理上网,在家需要取消代理! 工具小巧实用,只要执行一次,就可以实现切换,再执行一次就实现自动关闭!无毒,无广告,无害!本人自编小工具,...
IE代理 免费代理 代理服务器 快速的代理 上网代理 浏览器免费代理 代理服务器地址列表 代理服务器软件 代理IP 代理在线 Internet Explorer 免费代理 免费代理服务器 免费代理服务器地址 免费代理软件 代理IP 代理...
这是一个根据实际需求开发的微型VBS 简单 方便 好用 有什么问题需要技术支持 请电邮58021973@qq.com
说明: 1、本程序用于经常需要在公司、... ④一键清除IE代理,一键设置IE代理 2、程序使用简单批处理代码,在win7下测试通过,使用本程序时,只需修改IP、网关、IE代理几个参数即可 3、有问题欢迎私信新浪微博Micro_Cai
除了上述功能,IE代理超级版可能还包括自动切换代理、代理服务器验证、性能优化等特性。自动切换代理可以在不同情况下自动选择最合适的代理服务器,提高网络连接的稳定性和效率。代理服务器验证确保所使用的代理是...
因此,本文将详细介绍如何利用批处理脚本(命令行工具)自动完成IE浏览器的代理服务器设置,从而方便地实现多台计算机共享一个互联网连接。 #### 实现原理与步骤 ##### 一、了解代理服务器的基本概念 1. **代理...
这个主题涉及到如何在Internet Explorer(IE)浏览器中设置和管理代理服务器,以便在局域网(LAN)环境中进行网络访问。代理服务器在局域网中起到中介的作用,可以用于缓存、安全过滤、或者在某些情况下,帮助用户...
使用网络不同,所以总要从新设置IE代理服务器,不用时再清除。每次都要在IE里点来点去的,非常麻烦。 <br>于是萌发了想制作清除IE代理服务器设置的软件。算上上网查资料的时间,共用了3、4个小时,小软件诞生了。...
IE代理设置工具, 自动获取代理服务器,并设置 , 8888888888888888888888888
快速的切换代理的IP,每天更新最快的IP地址,供选择!
4. **代理服务器配置**:通过修改注册表,可以设置IE的代理服务器,包括自动检测、特定服务器地址等。 ``` reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_...
这个过程对于开发需要动态切换代理的程序,或者在没有用户交互的情况下管理IE代理设置的自动化任务非常有用。请注意,直接修改注册表可能会影响系统的其他部分,因此在进行此类操作时要格外小心。
3. **自动切换**:软件支持定时或按照规则自动切换代理,用户可以根据需要设置切换策略,确保网络连接的稳定性和多样性。 4. **验证功能**:内置代理验证机制,可以检查代理服务器的可用性、速度和安全性,避免使用...