Java HttpClient-ত HTTP প্ৰক্সি ব্যৱহাৰ কৰক
Java HTTP ক্লায়েণ্ট বিল্ডাৰক ProxySelector দিয়ক আৰু সংযোগ তথা অনুৰোধৰ টাইমআউট পৃথক ৰাখক।
Java 11 বা পিছৰ সংস্কৰণত ক্লায়েণ্ট বিল্ডাৰত ProxySelector নিৰ্ধাৰণ কৰক। ইয়াৰ ফলত সমগ্ৰ JVM-ৰ প্ৰক্সি প্ৰপাৰ্টি অপৰিৱৰ্তিত থাকে:
import java.net.InetSocketAddress;
import java.net.ProxySelector;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class ProxyExample {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("203.0.113.10", 8080)))
.connectTimeout(Duration.ofSeconds(5))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/"))
.timeout(Duration.ofSeconds(15))
.GET()
.build();
HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}নথিৰ এণ্ডপইণ্টৰ ঠাইত নিজৰ HTTP প্ৰক্সি দিয়ক; HTTP প্ৰক্সি তালিকাই পৰীক্ষাৰ বাবে প্ৰাৰ্থী দিয়ে। ProxySelector.of-এ সকেট ঠিকনা লয়: হোষ্টত http:// উপসৰ্গ নিদিব আৰু প’ৰ্ট পৃথকে দিয়ক। ই HTTP প্ৰক্সি বাছে, প’ৰ্ট নম্বৰ চাই SOCKS নহয়। অনুৰোধৰ URI প্ৰকৃত গন্তব্যই থাকে।
HTTPS এই HTTP প্ৰক্সিৰে টানেল ব্যৱহাৰ কৰি যাব পাৰে। গন্তব্যৰ সুৰক্ষা কমোৱাৰ প্ৰয়োজন নাই আৰু এই ছেটআপে প্ৰক্সি লিছেনাৰ নিজে TLS সমৰ্থন কৰে বুলি নুবুজায়।
ক্লায়েণ্ট বিল্ডাৰৰ সংযোগ টাইমআউট সংযোগ গঢ়াৰ সময়ত প্ৰযোজ্য; অনুৰোধৰ নিজৰ টাইমআউট আছে। দুয়োটা স্পষ্ট ৰাখক কাৰণ অনুৰোধে আগৰ সংযোগ পুনৰ ব্যৱহাৰ কৰিব পাৰে। গন্তব্যৰ কোনো উত্তৰ অহাৰ আগতে নেটৱৰ্ক, প্ৰমাণীকৰণ বা টানেলৰ এক্সচেপচন হ’ব পাৰে, কিন্তু ঘূৰি অহা ত্ৰুটি ষ্টেটাছৰ পৰা এক্সচেপচন হ’বই লাগিব বুলি কথা নাই।
একে ৰাউটিং নীতিৰ অনুৰোধত ক্লায়েণ্ট পুনৰ ব্যৱহাৰ কৰক, যাতে এপে তাৰ সংযোগ পৰিচালনাৰ সুবিধা পায়।