მიეცით Java-სგან გაშვებულ curl პროცესს მისი პროქსის ცვლადები
დააყენეთ ProcessBuilder.environment ჩამომტვირთავისთვის; JVM-ის -D პროქსის თვისებები curl-ის ოფციებად არ იქცევა.
დააყენეთ ჩამომტვირთავის შეყვანები მის ProcessBuilder-ზე:
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();გარემოს რუკა იწყება Java პროცესის გარემოს ასლად. ეს ცვლილებები ეხება პროცესებს, რომლებსაც ეს ამგებლები მოგვიანებით უშვებს; ისინი არ აახლებენ მშობელ ტერმინალს ან სხვა ამგებელს. შეამოწმეთ მემკვიდრეობით მიღებული გვერდის ავლის ცვლადები, თუ curl კვლავ პირდაპირ მიდის. საჯარო HTTP ჩამოტვირთვის მარშრუტისთვის აირჩიეთ შვილის საბოლოო წერტილი HTTP პროქსიების სიიდან.
მაგალითი მემკვიდრეობით იღებს სტანდარტულ ნაკადებს. დაელოდეთ შვილს, დაამუშავეთ მისი გასვლის სტატუსი და შეინარჩუნეთ აპლიკაციის გაუქმების პოლიტიკა start()-ის შემდეგ.
Java-ს http.proxyHost სისტემური თვისება ეკუთვნის მონაწილე Java ქსელურ კოდს. Curl იყენებს საკუთარ ოფციებსა და გარემოს. თუ შვილი სხვა Java პროგრამაა, მიაწოდეთ მას საჭირო -D არგუმენტები მთავარ კლასამდე ან -jar; გარემოს ცვლადი, რომელსაც უბრალოდ http.proxyHost ჰქვია, ამ თვისებას არ აყენებს.