您现在的位置是:主页 > news > 网站备案有什么作用/2024年2月疫情又开始了吗

网站备案有什么作用/2024年2月疫情又开始了吗

admin2025/4/25 0:34:30news

简介网站备案有什么作用,2024年2月疫情又开始了吗,上海做网站大的公司,北京微信网站建设费用Proxy Auto Config文件格式说明 PAC文件实际上是一个Script, 通过PAC我们可以让系统根据情况判断使用哪一个Proxy来访问目标网址, 这样做的好处: 分散Proxy的流量,避免Proxy Server负载过高针对个别条件设定, 加快浏览速度设定请求顺序, 自动依次尝试多个Proxy途径…

网站备案有什么作用,2024年2月疫情又开始了吗,上海做网站大的公司,北京微信网站建设费用Proxy Auto Config文件格式说明 PAC文件实际上是一个Script, 通过PAC我们可以让系统根据情况判断使用哪一个Proxy来访问目标网址, 这样做的好处: 分散Proxy的流量,避免Proxy Server负载过高针对个别条件设定, 加快浏览速度设定请求顺序, 自动依次尝试多个Proxy途径…

Proxy Auto Config文件格式说明

PAC文件实际上是一个Script, 通过PAC我们可以让系统根据情况判断使用哪一个Proxy来访问目标网址, 这样做的好处:

  1. 分散Proxy的流量,避免Proxy Server负载过高
  2. 针对个别条件设定, 加快浏览速度
  3. 设定请求顺序, 自动依次尝试多个Proxy途径

PAC文件是纯文本, 格式和JavaScript一样, 不能包含任何HTML标签, 一定要定义的是Function FindProxyForURL

function FindProxyForURL(url, host) {...
}

一个完整的例子

 

var domains = {"google.com": 1,"facebook.com": 1,"bing.com":1
};var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;";var direct = 'DIRECT;';function FindProxyForURL(url, host) {var lastPos;do {if (domains.hasOwnProperty(host)) {return proxy;}lastPos = host.indexOf('.') + 1;host = host.slice(lastPos);} while (lastPos >= 1);return direct;
}

 

另一个例子

 

function FindProxyForURL(url, host)
{url  = url.toLowerCase();host = host.toLowerCase();if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0")|| isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0")|| isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")|| isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")) {return "DIRECT";}if (shExpMatch(url,"*twitter*")|| shExpMatch(url,"*google*")|| shExpMatch(url,"*facebook*")|| shExpMatch(url,"*blogspot*")|| shExpMatch(url,"*youtube*")|| shExpMatch(url,"*gstatic*")|| shExpMatch(url,"*ytimg*")|| shExpMatch(url,"*ggpht*")|| shExpMatch(url,"*github*")) {return "SOCKS 192.168.1.1:3128";}return 'DIRECT';
}

下面是我自己的pac

function FindProxyForURL(url, host) 
{ url  = url.toLowerCase();host = host.toLowerCase();if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0")|| isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0")|| isInNet(dnsResolve(host), "172.1.1.0",  "255.255.255.0")|| isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")|| isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")) {return "DIRECT";}if (shExpMatch(url,"*.jove.com*")|| shExpMatch(url,"*springer.com*")|| shExpMatch(url,"*cnki.net*")|| shExpMatch(url,"*reaxys.com*")) {return "PROXY 192.168.1.124:808";}if (shExpMatch(url,"*jstor.org*")|| shExpMatch(url,"*sciencemag.org*")|| shExpMatch(url,"*bioone.org*")|| shExpMatch(url,"*webofknowledge.com*")|| shExpMatch(url,"*oup.com*")|| shExpMatch(url,"*nature.com*")|| shExpMatch(url,"*annualreviews.org*")|| shExpMatch(url,"*f1000.com*")|| shExpMatch(url,"*rsc.org*")|| shExpMatch(url,"*acs.org*")|| shExpMatch(url,"*wiley.com*")|| shExpMatch(url,"*cell.com*")|| shExpMatch(url,"*sciencedirect.com*")|| shExpMatch(url,"*discoverygate.com*")|| shExpMatch(url,"*f1000biology.com*")|| shExpMatch(url,"*journalsonline.tandf.co.uk*")|| shExpMatch(url,"*blackwell-synergy.com*")|| shExpMatch(url,"*highwire.stanford.edu*")|| shExpMatch(url,"*csa.com*")|| shExpMatch(url,"*jcr.clarivate.com*")|| shExpMatch(url,"*las.ac.cn*")|| shExpMatch(url,"*blackwell-synergy.com*")|| shExpMatch(url,"*oxfordjournals.org*")) {return "PROXY 192.168.1.210:6256";}return "DIRECT";}

 

如果使用了PAC, 则浏览器在接受我们要求的网址后会去执行ret = FindProxyForURL(url, host). 其中,
url是所要求网址的完整路径,
host是对方的计算机名称(就是在://和/之中的部份).
return值ret是Proxy的组态. 它的格式有下列三种:

  • DIRECT: 直接联机而不透过Proxy
  • PROXY host:port 使用指定的Proxy
  • SOCKS host:port 使用指定的Socks代理

比如说当浏览器得到的是Proxy aa.bb.cc:3128; Proxy bb.cc.dd:3128; DIRECT 的话,那浏览器会先尝试aa.bb.cc:3128, 如果无法使用, 再尝试bb.cc.dd:3128, 还是不行的话, 就直接联机.

PAC中的预设函数

在PAC中,除了可以使用一般JavaScript的Function外, 它还定义了一些预设的函数


isPlainHostName(host)
host 由网址取得的主机名称.
此 Function 会判断 host 是否为不包含网域 (Domain). 如果不包含则 return true, 如果包含则 return false.

dnsDomainIs(host,  domain)
host 由网址取得的主机名称.
domain 指定的网域.
此 Function 会判断 host 是否属于网域 domain. 如果是则 return true, 否则return false.

localHostOrDomainIs(host,  hostdom)
host 由网址取得的主机名称.
hostdom 完整的网域名称.
此 Function 会判断 host 是否为 hostdom,或 host 是否为 hostdom 的主机名称. 如果是则 return true, 否则 return false.

isResolvable(host)
host 由网址取得的主机名称.
此 Function 会尝试透过 DNS 去解析 host,如果解析成功则 return true, 否则return false.

isInNet(host,  pattern,  mask)
host主机名称,可以是 Domain Name 或 IP. 如果是 Domain Name,则会透过 DNS 查出 IP.
pattern IP.
mask对应于pattern的遮盖.
此 Function 会 host 是否在指定的 IP 范围内,如果是则 return true, 否则 return false.

dnsResolve(host)
host 要透过 DNS 解晰的主机名称.
此 Function 会透过 DNS 去解析 host,return 值即为解析之结果.

myIpAddress()
此 Function 会 return 浏览器所在计算机之 IP 地址.

dnsDomainLevels(host)
host 由网址取得的主机名称.
此 Function 会 return host 的 Domain 层数(点的数目).

shExpMatch(str,  shexp)
str 要进行比对的字符串.
shexp 比对的条件.
此 Function 会比对 str 是否符合 shexp 的表示式(此表示式为 shell expression 而非 regular expressions). 如果是则 return true, 否则 return false.

weekdayRange(), dateRange(), timeRange()
这三个函数的功用都是检查线在时间是否在指定范围内,可以设定分时段使用代理服务