function FindProxyForURL(url,host) {
var proxy = "PROXY proxy1.example.co.jp:8080; PROXY proxy2.example.co.jp:8080";
/* Private Address */
function isPrivate(host) {
return shExpMatch(host, "172.16.*")
|| shExpMatch(host, "172.17.*")
|| shExpMatch(host, "172.18.*")
|| shExpMatch(host, "172.19.*")
|| shExpMatch(host, "172.2?.*")
|| shExpMatch(host, "172.30.*")
|| shExpMatch(host, "172.31.*")
|| shExpMatch(host, "10.*")
|| shExpMatch(host, "192.168.*")
|| shExpMatch(host, "127.0.0.*");
/* Intranet */
if (isPlainHostName(host)
|| isPrivate(host)
|| shExpMatch(host,"*.example.co.jp"){
return "DIRECT";
else
/* The Internet */
return proxy;
}
}
コマンド 概要 DNS参照するか isPlainHostName 単一ホスト名(intra)でのリクエストの場合マッチする × isInNet DNS正引きをしてサブネット内か確認する ○ shExpMatch 文字列比較をして、合致しているか確認する × dnsResolve IPアドレスへ変換する ○ isResolvable 名前解決ができるか確認する ○ myIpAddress() 自ホストのIPアドレスを取得する ×
参考
FINDPROXYFORURL.COM - A PROXY AUTO-CONFIGURATION RESOURCE
http://findproxyforurl.com/index.html