HttpURLConnection atskleidžia usingProxy, tačiau rezultatui šalia reikia ryšio įgyvendinimo ir būsenos. Tai nėra bandomoji užklausa.

OpenJDK 25 HTTP apdorotėje aiškiai sukonfigūruotas HTTP tarpinis serveris gali priversti metodą grąžinti true prieš atidarant tinklo ryšį:

import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;

var proxy = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();

HTTP kandidatas iš HTTP tarpinių serverių sąrašo gali užpildyti hostą ir prievadą leistinai viešai užklausai be tarpinio serverio autentifikavimo. openConnection sukuria objektą. Jis neužmezga HTTP ryšio vien grąžindamas tą objektą. Taigi vėliavėlė šiuo aiškaus tarpinio serverio atveju neįrodo, kad tarpininkas pasiekiamas ar priima užklausą.

Naudojant automatinį pasirinkimą, maršruto pasirinkimas gali įvykti vėliau, kai apdorotėjas jungiasi. Ankstyvo false rezultato nereikėtų laikyti galutiniu maršruto sprendimu. Po prisijungimo aiškinkite būseną kartu su bet kokia išimtimi ar atsakymu, ypač kai dalyvavo autentifikavimas ar atsarginis kelias.

Viešasis metodas priklauso HttpURLConnection, o aukščiau aprašyta elgsena būdinga nurodytai OpenJDK apdorotėjai. Kitas teikėjas ar JDK įgyvendinimas neprivalo rodyti tų pačių prieš prisijungimą esančių detalių.

Užsirašykite, kaip buvo pasirinktas tarpinis serveris ir kada vėliavėlė buvo perskaityta. Norėdami nustatyti šaltinio adresą, kurį mato paskirties vieta, saugokite įrodymus iš paskirties pusės; loginė tarpinio serverio žymė neturi lauko tam išėjimo adresui.

Susiję straipsniai