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 નામનું એન્વાયર્નમેન્ટ ચલ તે ગુણધર્મ સેટ કરતું નથી.