AsyncHttpClient 2.x ਵਿੱਚ ਸਪਸ਼ਟ ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰ ਕਰੋ
ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ AsyncHttpClient 2.12.4 ਕਨਫਿਗਰੇਸ਼ਨ ਉੱਤੇ ProxyServer ਸੈੱਟ ਕਰੋ, JVM ਵਿਸ਼ੇਸ਼ਤਾ ਖੋਜ ਬਾਰੇ ਸੋਚ-ਸਮਝ ਕੇ ਚੋਣ ਨਾਲ।
DefaultAsyncHttpClientConfig.Builder config = Dsl.config()
.setProxyServer(
new ProxyServer.Builder("proxy.example", 8080))
.setRequestTimeout(15000);
try (AsyncHttpClient client = Dsl.asyncHttpClient(config)) {
Response response = client.prepareGet("https://www.example.com/")
.execute().toCompletableFuture().join();
System.out.println(response.getStatusCode());
}
ਇਹ org.asynchttpclient 2.12.4 API ਹੈ, ProxyServer ਇਸ ਦੇ proxy ਪੈਕੇਜ ਵਿੱਚ ਹੈ। ਇਸ ਜਨਤਕ HTTPS ਉਦਾਹਰਨ ਲਈ, ਵਿਚੋਲੇ ਨੂੰ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਤੋਂ ਬਿਨਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲੇ ਉਮੀਦਵਾਰ ਨਾਲ ਬਦਲੋ ਅਤੇ ਵੈੱਬਸਾਈਟ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰੋ। ਕਨਫਿਗਰੇਸ਼ਨ ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਬੇਨਤੀ ਲਈ 15 ਸਕਿੰਟ ਦਾ ਬਜਟ ਉਸ ਸੈੱਟਅੱਪ ਦਾ ਹਿੱਸਾ ਹੈ।
ਉਦਾਹਰਨ ਕਲਾਇੰਟ ਦੀ ਉਮਰ ਦੌਰਾਨ future ਦੀ ਉਡੀਕ ਕਰਦੀ ਹੈ। async ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਦੀ ਥਾਂ ਇਸਨੂੰ ਰਚ ਸਕਦੀ ਹੈ, ਪਰ ਸੌਂਪਿਆ ਕੰਮ ਪੂਰਾ ਹੋਣ ਤੱਕ ਕਲਾਇੰਟ ਰੱਖਣਾ ਪਵੇਗਾ।
ਜੇ ਸਮਰਥਿਤ JVM ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੀ ਲੋੜੀਂਦੀ ਨੀਤੀ ਸਰੋਤ ਹਨ, ਤਾਂ setUseProxyProperties(true) ਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਚੁਣੋ। ਇੱਕ runtime ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾ ਦਾ ਹੋਣਾ ਸਬੂਤ ਨਹੀਂ ਕਿ ਹਰ ਕਲਾਇੰਟ ਨੇ ਇਸਨੂੰ ਅਪਣਾਇਆ ਹੈ।
ਪੁਰਾਣੇ Dispatch ਉਦਾਹਰਨ ਅਕਸਰ com.ning ਲਪੇਟਦੇ ਹਨ ਅਤੇ ਵੱਖਰੀ opt-in ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਦੇ ਹਨ। ਉਸ ਕਨਫਿਗਰੇਸ਼ਨ ਨੂੰ ਇਸ 2.x ਬਿਲਡਰ ਨਾਲ ਮਿਲਾਉਣ ਦੀ ਥਾਂ ਅਧਾਰ ਕਲਾਇੰਟ ਦੇ imports ਅਤੇ API ਨਾਲ ਮੇਲ ਕਰੋ।