HttpURLConnection tarjoaa usingProxyn, mutta tulos tarvitsee rinnalleen yhteyden toteutuksen ja tilan. Se ei ole testipyyntö.

OpenJDK 25:n HTTP-käsittelijässä eksplisiittisesti määritetty HTTP-välityspalvelin voi saada metodin palauttamaan true ennen verkkoyhteyden avaamista:

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-ehdokas HTTP-välityspalvelinluettelosta voi täyttää isäntänimen ja portin sallittua julkista pyyntöä varten ilman välityspalvelimen todennusta. openConnection rakentaa olion. Se ei muodosta HTTP-yhteyttä pelkästään palauttamalla kyseisen olion. Lippu ei siis tässä eksplisiittisen välityspalvelimen tapauksessa todista, että välittäjä on tavoitettavissa tai hyväksyy pyynnön.

Automaattisessa valinnassa reitin valinta voi tapahtua myöhemmin, kun käsittelijä yhdistää. Aikaista false-tulosta ei pidä pitää lopullisena reittipäätöksenä. Yhteyden jälkeen tulkitse tila yhdessä mahdollisen poikkeuksen tai vastauksen kanssa, erityisesti kun todennus tai varareitti oli mukana.

Julkinen metodi kuuluu HttpURLConnectionille, mutta yllä kuvattu toiminta on ominaista nimetylle OpenJDK-käsittelijälle. Toisen tarjoajan tai JDK-toteutuksen ei tarvitse näyttää samoja yhteyttä edeltäviä yksityiskohtia.

Kirjaa, miten välityspalvelin valittiin ja milloin lippu luettiin. Jotta voit todentaa lähdeosoitteen, jonka kohde näkee, säilytä todisteet kohdepuolelta; boolean-välityspalvelinmerkinnällä ei ole kenttää kyseiselle lähtöosoitteelle.

Aiheeseen liittyvät artikkelit