Apache HttpClient 5 Fluent ਵਿੱਚ Executor ਨਾਲ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣਿਕਤਾ
Fluent Request ਦੇ viaProxy ਰਸਤੇ ਨੂੰ ਇਸਦੇ Apache HttpClient 5 Executor ਉੱਤੇ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਨਾਲ ਜੋੜੋ।
Apache HttpClient 5 ਦੇ Fluent API ਵਿੱਚ, Request ਇੱਕ ਪ੍ਰੌਕਸੀ ਚੁਣ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ Executor ਇਸਦਾ ਖਾਤਾ ਦਿੰਦਾ ਹੈ। ਉਸ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਵਾਲੇ ਆਬਜੈਕਟ ਰਾਹੀਂ ਬੇਨਤੀ ਚਲਾਓ:
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Executor ਅਤੇ Request org.apache.hc.client5.http.fluent ਤੋਂ ਹਨ; HttpHost org.apache.hc.core5.http ਤੋਂ ਹੈ। ਖਾਤੇ ਦੇ ਵੇਰੀਏਬਲ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਕਨਫਿਗਰੇਸ਼ਨ ਤੋਂ ਆਉਂਦੇ ਹਨ।
ਪ੍ਰੌਕਸੀ ਦੇ ਦੋਵੇਂ ਉਪਯੋਗ ਜਾਣ-ਬੁੱਝ ਕੇ ਇੱਕੋ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਦੱਸਦੇ ਹਨ। viaProxy ਰਸਤਾ ਚੁਣਦਾ ਹੈ, ਜਦੋਂ ਕਿ auth ਉਸ ਵਿਚੋਲੇ ਲਈ ਪ੍ਰਮਾਣ-ਪੱਤਰ Executor ਵਿੱਚ ਦਰਜ ਕਰਦਾ ਹੈ। ਜੇ ਅੰਤਿਮ ਨਤੀਜਾ 407 ਰਹਿੰਦਾ ਹੈ, ਤਾਂ ਚੁਣੇ ਗਏ ਰਸਤੇ ਦੀ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਦੇ ਦਾਇਰੇ ਨਾਲ ਤੁਲਨਾ ਕਰੋ।
ਵੱਖਰੇ Request ਦੀ ਸੁਵਿਧਾਜਨਕ execute ਵਿਧੀ ਕਾਲ ਕਰਨ ਨਾਲ ਦੂਜਾ ਲਾਗੂ ਕਰਨ ਰਸਤਾ ਵਰਤਿਆ ਜਾਵੇਗਾ। ਉਦਾਹਰਨ ਵਾਂਗ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਵਾਲੇ Executor ਨੂੰ ਕਾਰਵਾਈ ਨਾਲ ਜੁੜਿਆ ਰੱਖੋ, ਤਾਂ ਜੋ ਚੁਣੌਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਕਲਾਇੰਟ ਕੋਲ ਕਨਫਿਗਰ ਕੀਤਾ ਖਾਤਾ ਹੋਵੇ।
ਉਦਾਹਰਨ 5.x ਦਾ char-array ਪਾਸਵਰਡ ਇੰਟਰਫੇਸ ਵਰਤਦੀ ਹੈ। ਪੁਰਾਣੇ HttpClient 4 Fluent ਸਨਿੱਪਟ ਵੱਖਰੇ ਪੈਕੇਜ ਅਤੇ ਵਿਧੀ ਸਹੀਆਂ ਵਰਤਦੇ ਹਨ। ਬੇਨਤੀ ਪੂਰੀ ਹੋਣ ਤੇ returnContent ਜਵਾਬ ਇਕਾਈ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਕਨੈਕਸ਼ਨ ਦੁਬਾਰਾ ਵਰਤੋਂ ਲਈ ਛੱਡਦਾ ਹੈ।