import org.htmlunit.ProxyConfig;
import org.htmlunit.WebClient;

try (WebClient browser = new WebClient()) {
    ProxyConfig proxy =
        new ProxyConfig("proxy.example.net", 8080, "http");
    proxy.addHostsToProxyBypass("localhost");
    browser.getOptions().setProxyConfig(proxy);

    browser.getPage("https://example.net/");
}

ਨੈਵੀਗੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਸਫ਼ਾ ਲੋਡ ਕਰਨ ਵਾਲੇ WebClient 'ਤੇ ProxyConfig ਸੈੱਟ ਕਰੋ। ਇਹ org.htmlunit ਨੇਮਸਪੇਸ ਵਰਤਦਾ ਹੈ; ਪੁਰਾਣੀਆਂ ਨਿਰਭਰਤਾਵਾਂ com.gargoylesoftware.htmlunit ਵਰਤਦੀਆਂ ਸਨ ਅਤੇ ਵੱਖਰੇ ਕੰਸਟ੍ਰਕਟਰ ਦੇ ਸਕਦੀਆਂ ਹਨ।

ਇਸ ਜਨਤਕ-ਸਫ਼ਾ ਉਦਾਹਰਨ ਲਈ ਪ੍ਰੌਕਸੀ ਹੋਸਟ ਅਤੇ ਪੂਰਨ ਅੰਕ ਪੋਰਟ ਨੂੰ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਤੋਂ ਇੱਕ ਗੈਰ-ਪ੍ਰਮਾਣਿਤ ਉਮੀਦਵਾਰ ਨਾਲ ਬਦਲੋ। ਕੰਸਟ੍ਰਕਟਰ ਦਾ "http" ਵਿਚੋਲੇ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ, HTTPS ਸਫ਼ੇ ਲਈ ਵੀ। ਹੋਸਟਨਾਮ ਆਰਗਿਊਮੈਂਟ ਵਿੱਚ URL ਪ੍ਰੀਫਿਕਸ ਨਾ ਪਾਓ ਅਤੇ ਸਿਰਫ਼ ਮੰਜ਼ਿਲ ਨਾਲ ਮੇਲ ਖਾਣ ਲਈ ਪ੍ਰੋਟੋਕੋਲ ਨਾ ਬਦਲੋ।

ਬਾਈਪਾਸ ਮੁੱਲ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਹਨ, PAC ਨਿਯਮ ਜਾਂ ਕੌਮਾ-ਵੱਖ ਕੀਤੀ ਵਾਤਾਵਰਨ ਸੂਚੀ ਨਹੀਂ। ਜੇ ਕੋਈ ਬੇਨਤੀ ਅਚਾਨਕ ਸਿੱਧੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਬੇਨਤੀ ਕੀਤੇ ਹੋਸਟ ਦੀ ਉਹਨਾਂ ਪੈਟਰਨਾਂ ਨਾਲ ਤੁਲਨਾ ਕਰੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇਹ ਇਸ WebClient ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।

ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਬਣਾਇਆ WebClient ਜਾਂ HTTP ਕਲਾਇੰਟ ਇਸ ਸੰਰਚਨਾ ਆਬਜੈਕਟ ਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਨਹੀਂ ਲੈਂਦਾ। ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਗਲੋਬਲ ਸਥਿਤੀ ਬਦਲਣ ਦੀ ਬਜਾਏ ਦੁਬਾਰਾ ਵਰਤੋਂ ਯੋਗ ਇੰਸਟੈਂਸਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਕੰਮ ਤੋਂ ਪਹਿਲਾਂ ਸੰਰਚਿਤ ਕਰੋ। ਮੰਜ਼ਿਲ ਦੀ ਪੁਸ਼ਟੀ ਅਤੇ ਵੈੱਬਸਾਈਟ ਲੌਗਇਨ ਵੱਖਰੇ ਰਹਿੰਦੇ ਹਨ; ਪ੍ਰਮਾਣਿਤ ਪ੍ਰੌਕਸੀ ਨੂੰ ਸਥਾਪਿਤ HtmlUnit ਸੰਸਕਰਣ ਦਾ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਇੰਟਰਫੇਸ ਵੀ ਚਾਹੀਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, HtmlUnit 4.21.0 ਪ੍ਰੌਕਸੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਨੂੰ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਅਨੁਸਾਰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ