Proxy 代理PAC文件:是否每设置一个时间间隔更改代理?

Proxy 代理PAC文件:是否每设置一个时间间隔更改代理?,proxy,mozilla,pac,Proxy,Mozilla,Pac,我记得有一段时间以前读过关于编辑代理pac文件的内容,该文件将在每个设置的时间间隔(例如每小时)切换代理 但是我找不到函数,也记不起怎么做 我是不是搞错了,或者proxy.pac是否有这种可能 我正在使用mozilla 更新:每次发送HTTP请求时是否调用FindProxyForURL PAC文件只是一个Javascript函数FindProxyForURLurl,host{},它获取要获取的资源的URL,并返回一个字符串,指定要使用哪个代理,或者不为该资源指定任何代理。 无论协议如何,所有浏览

我记得有一段时间以前读过关于编辑代理pac文件的内容,该文件将在每个设置的时间间隔(例如每小时)切换代理

但是我找不到函数,也记不起怎么做

我是不是搞错了,或者proxy.pac是否有这种可能

我正在使用mozilla


更新:每次发送HTTP请求时是否调用FindProxyForURL

PAC文件只是一个Javascript函数FindProxyForURLurl,host{},它获取要获取的资源的URL,并返回一个字符串,指定要使用哪个代理,或者不为该资源指定任何代理。 无论协议如何,所有浏览器请求都会通过该函数

在该功能块中,您应该能够查询当前时间并决定返回哪个代理

例如:

函数FindProxyForURLurl,主机{ //若URL在主机名中并没有点,那个么直接发送流量。 如果isPlainHostNamehost直接返回; //已知的本地顶级域是直接的 if/\.local | lcl | domain | grp | localdomain\:\d+?$\124;\//i.testurl 直接返回; //根据时间划分流量 var dTime=新日期; var hours=dTime.getHours; 如果小时数<12{ //从午夜到午餐时间,使用代理 //这是端口8080上的标准HTTP代理 return proxyA.example.com:8080 }否则{ //从午餐时间到午夜,使用代理B //哪个是端口777上的Socks5代理 return SOCKS5 proxyB.example.com:777 } }
PAC文件只是一个Javascript函数FindProxyForURLurl,host{},它获取要获取的资源的URL,并返回一个字符串,指定要使用哪个代理,或者为该资源直接使用哪个代理。 无论协议如何,所有浏览器请求都会通过该函数

在该功能块中,您应该能够查询当前时间并决定返回哪个代理

例如:

函数FindProxyForURLurl,主机{ //若URL在主机名中并没有点,那个么直接发送流量。 如果isPlainHostNamehost直接返回; //已知的本地顶级域是直接的 if/\.local | lcl | domain | grp | localdomain\:\d+?$\124;\//i.testurl 直接返回; //根据时间划分流量 var dTime=新日期; var hours=dTime.getHours; 如果小时数<12{ //从午夜到午餐时间,使用代理 //这是端口8080上的标准HTTP代理 return proxyA.example.com:8080 }否则{ //从午餐时间到午夜,使用代理B //哪个是端口777上的Socks5代理 return SOCKS5 proxyB.example.com:777 } } 或者你可以依靠:

时间范围可用于为特定时间范围指定不同的代理。注:示例将利用'proxy1.example.com'从上午8点到下午6点。例如:

或者你可以依靠:

时间范围可用于为特定时间范围指定不同的代理。注:示例将利用'proxy1.example.com'从上午8点到下午6点。例如:


关于这一点的一个问题是,FindProxyForURL多久运行一次?当我需要每隔15分钟进行一次代理切换时,情况如何?我不确定dTime变量的更新频率。浏览器发出的每个请求都会调用该函数。该函数接收完整的URL,因此您可以根据浏览器试图访问的站点切换代理。@Renaud Bompuis Hi,浏览器是否真的在每次请求之前调用该函数?你有写这篇文章的资源吗?谢谢。关于这一点的一个问题是,FindProxyForURL多久运行一次?当我需要每隔15分钟进行一次代理切换时,情况如何?我不确定dTime变量的更新频率。浏览器发出的每个请求都会调用该函数。该函数接收完整的URL,因此您可以根据浏览器试图访问的站点切换代理。@Renaud Bompuis Hi,浏览器是否真的在每次请求之前调用该函数?你有写这篇文章的资源吗?谢谢
if (timeRange(8, 18)) return "PROXY proxy1.example.com:8080";
    else return "DIRECT";