接続先によってプロキシを変更する

逆に、自動構成スクリプトを自分で書いてやれば、接続先によってプロキシの切り替えができるようになる。

function FindProxyForURL(url, host)
{
if *1
return "PROXY proxy1:80";
else
return "PROXY proxy2:80";
}

たとえば上記の場合、

  • ローカルのドメイン(localdomain.com)内であれば直接接続する
  • 接続先ホストが*.comであればproxy1をプロキシサーバにする
  • それ以外はproxy2をプロキシサーバにする

となる

自動構成スクリプトは「file://c:\hoge\proxy.pac」のように指定できる場合もあるが、ブラウザによってはhttp://〜で記述しないと読んでくれないものがある。
このため、apacheなどのローカルWebサーバを立てて、そこに置いておくとよい。

http://127.0.0.1/proxy.pac

*1:isPlainHostName(host) || dnsDomainIs(host, ".localdomain.com"))) return "DIRECT"; else if (shExpMatch(host, "*.com"