Dns需要很长的时间来解决使用dnsResolve和isInNet()函数

可能重复:
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")