HttpURLConnection.usingProxy() sebelum dan selepas menyambung
Tafsirkan usingProxy sebagai keadaan pengendali, termasuk tingkah laku proksi eksplisit OpenJDK 25 sebelum sambungan diwujudkan.
HttpURLConnection mendedahkan usingProxy, tetapi hasilnya memerlukan pelaksanaan dan keadaan sambungan di sisinya. Ini bukan permintaan ujian.
Dalam pengendali HTTP OpenJDK 25, proksi HTTP yang dikonfigurasikan secara eksplisit boleh menyebabkan kaedah mengembalikan true sebelum sambungan rangkaian dibuka:
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();Calon HTTP daripada senarai proksi HTTP boleh mengisi hos dan port untuk permintaan awam yang dibenarkan tanpa pengesahan proksi. openConnection membina objek itu. Ia tidak mewujudkan sambungan HTTP semata-mata dengan mengembalikan objek tersebut. Jadi bendera dalam kes proksi eksplisit ini tidak membuktikan bahawa perantara boleh dicapai atau menerima permintaan.
Dengan pemilihan automatik, pemilihan laluan boleh berlaku kemudian semasa pengendali menyambung. Keputusan false awal tidak wajar dianggap keputusan laluan muktamad. Selepas sambungan, tafsirkan keadaan bersama sebarang pengecualian atau respons, terutamanya apabila pengesahan atau laluan sandaran terlibat.
Kaedah awam ini milik HttpURLConnection, manakala tingkah laku di atas khusus untuk pengendali OpenJDK yang dinamakan. Penyedia atau pelaksanaan JDK lain tidak perlu mendedahkan butiran pra-sambungan yang sama.
Catat bagaimana proksi dipilih dan bila bendera dibaca. Untuk memastikan alamat sumber yang dilihat oleh destinasi, simpan bukti dari pihak destinasi; penanda proksi boolean tiada medan untuk alamat keluar itu.