How to use different proxy for different address?

I'm in an office, behind a HTTP proxy. It's configured in control panel (Windows 7). I would like to use a different proxy for a short list of particular domains. How can I achieve that?


Solution 1:

using a PAC file (Proxy Auto Config)...

example (from Wikipedia):

function FindProxyForURL(url, host) {
        // our local URLs from the domains below example.com don't need a proxy:
        if (shExpMatch(host, "*.example.com")) {
                return "DIRECT";
        }

        // URLs within this network are accessed through
        // port 8080 on fastproxy.example.com:
        if (isInNet(host, "10.0.0.0", "255.255.248.0")) {
                return "PROXY fastproxy.example.com:8080";
        }

        // All other requests go through port 8080 of proxy.example.com.
        // should that fail to respond, go directly to the WWW:
        return "PROXY proxy.example.com:8080; DIRECT";
}

How to set it in IE

Solution 2:

In addition to pataluc's answer
This example shows you how to construct a PAC file for a short list of URLs

function FindProxyForURL(url, host) {
 // fill in your own proxy
 var proxy = "PROXY 192.168.1.1:8080";
 if (shExpMatch(url, "http://www.firstwebsite.com*")) { return proxy; }
 if (shExpMatch(url, "http://www.secondwebsite.com*")) { return proxy; }
 if (shExpMatch(url, "http://www.thirdwebsite.com*")) { return proxy; }
 // don't proxy all other URLs 
 return "DIRECT";
}