Setel input pengunduh pada ProcessBuilder-nya:

var command = new ProcessBuilder(
    "/usr/bin/curl", "--fail", "--max-time", "30",
    "https://downloads.example/data.csv");
var environment = command.environment();
environment.put("http_proxy", "http://proxy.example:8080");
environment.put("https_proxy", "http://proxy.example:8080");
command.inheritIO();
Process child = command.start();

Peta lingkungan dimulai sebagai salinan lingkungan proses Java. Perubahan ini berlaku untuk proses yang dijalankan kemudian oleh builder ini; perubahan tidak memperbarui terminal induk atau builder lain. Periksa variabel bypass yang diwarisi jika curl masih langsung. Untuk rute unduhan HTTP publik, pilih titik akhir anak dari daftar proxy HTTP.

Contoh mewarisi aliran standar. Tunggu anak, tangani status keluarnya, dan pertahankan kebijakan pembatalan aplikasi setelah start().

Properti sistem http.proxyHost milik Java termasuk kode jaringan Java yang berpartisipasi. Curl memakai opsi dan lingkungannya sendiri. Jika anak adalah program Java lain, berikan argumen -D yang dibutuhkannya sebelum kelas utama atau -jar; variabel lingkungan yang hanya bernama http.proxyHost tidak menyetel properti itu.

Artikel terkait