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 සඳහා සහාය දක්වන බව නොකියයි.
සේවාලාභී බිල්ඩරයේ සම්බන්ධතා කාලසීමාව සම්බන්ධතාව පිහිටුවන විට අදාළ වේ; ඉල්ලීමටම වෙනම කාලසීමාවක් ඇත. ඉල්ලීමක් පවතින සම්බන්ධතාව නැවත භාවිත කළ හැකි නිසා දෙකම පැහැදිලිව තබන්න. ගමනාන්තයේ කිසිදු පිළිතුරකට පෙර ජාල, අනන්යතා සත්යාපන හෝ උමං ව්යතිරේකයක් ඇතිවිය හැකි අතර ආපසු ලැබුණු දෝෂ තත්ත්වයක් අනිවාර්යයෙන් ව්යතිරේකයක් ඇති නොකරයි.
එකම මාර්ගගත කිරීමේ ප්රතිපත්තිය ඇති ඉල්ලීම් සඳහා සේවාලාභියා නැවත භාවිත කර යෙදුමට එහි සම්බන්ධතා කළමනාකරණයෙන් ප්රයෝජන ගන්න දෙන්න.