Sun Java System Web Proxy Server 4.0.8 管理指南

示例 7:代理特定协议

可以设置代理,使其用于特定的协议。在 FindProxyForURL()() 函数中,可以使用大多数标准 JavaScript 功能。例如,要根据协议设置不同的代理,可以使用 substring()() 函数。

    function FindProxyForURL(url, host)
    {
        if (url.substring(0, 5) == "http:") {
            return "PROXY http-proxy.mydomain.com:8080";
        }
        else if (url.substring(0, 4) == "ftp:") {
            return "PROXY ftp-proxy.mydomain.com:8080";
        }
        else if (url.substring(0, 7) == "gopher:") {
            return "PROXY gopher-proxy.mydomain.com:8080";
        }
        else if         (url.substring(0, 6) == "https:" ||
                url.substring(0, 6) == "snews:") {
            return "PROXY security-proxy.mydomain.com:8080";
        }
        else {
            return "DIRECT";
        }
    }

使用 shExpMatch()() 函数也可以实现此配置;例如:

    ...
    if (shExpMatch(url, "http:*")) {
        return "PROXY http-proxy.mydomain.com:8080;
    }
    ...