可能重复:
dnsResolve和isInNet函数问题
我们有一个Proxy.pac文件:
function FindProxyForURL(url, host) { if (dnsResolve("ProxyServer") == "10.1.1.116") if (dnsDomainLevels(host) == 0 || isInNet(host, "10.0.0.0","255.0.0.0") || isInNet(host, "125.0.0.0","255.0.0.0") || isInNet(host, "127.0.0.0","255.0.0.0") || isInNet(host, "204.223.70.250","255.255.255.255") || dnsDomainIs(host, ".muj.com") || dnsDomainIs(host, "sv.com.gt") || dnsDomainIs(host, "com.es.gt")) return "DIRECT"; else return "PROXY 10.1.1.116:8080"; else return "DIRECT"; }
工作正常,但有许多用户因为proxy.pac部署时间过长而抱怨导航。 看来dnsResolve和isInNet是问题的原因。 有没有其他的方法来改善这个脚本? 或如何accelarte DNS解决?
我读它的方式是,每次调用isInNet(主机,ip,掩码)时,都会尝试从DNSparsing主机,这意味着多个分辨率,每个分辨率都会增加时间。
尝试解决它一次,将这个parsing的主机分配给一个variables,然后在所有的isInNet调用中代替“主机”加快速度…类似的东西;
var resolvedIP = dnsResolve(host);
... isInNet(resolvedIP, "10.0.0.0", "255.0.0.0")