Itakda ang mga input ng downloader sa ProcessBuilder nito:

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();

Nagsisimula ang mapa ng environment bilang kopya ng environment ng prosesong Java. Naaangkop ang mga pagbabagong ito sa mga prosesong ilulunsad mamaya ng builder na ito; hindi nila ina-update ang terminal ng magulang o ibang builder. Suriin ang mga minanang bypass variable kung direkta pa ring lumalabas ang curl. Para sa pampublikong rutang pag-download ng HTTP, piliin ang endpoint ng anak mula sa listahan ng mga HTTP proxy.

Minamana ng halimbawa ang mga karaniwang stream. Hintayin ang anak, pangasiwaan ang status ng paglabas nito at panatilihin ang patakaran sa pagkansela ng application pagkatapos ng start().

Ang system property na http.proxyHost ng Java ay pag-aari ng kalahok na Java networking code. Gumagamit ang curl ng sarili nitong mga opsyon at environment. Kung ang anak ay isa pang programang Java, ibigay ang mga argumentong -D na kailangan nito bago ang pangunahing klase o -jar; ang variable ng environment na pinangalanang http.proxyHost lamang ay hindi nagtatakda ng property na iyon.

Kaugnay na mga artikulo