ให้ตัวแปรพร็อกซีแก่กระบวนการ curl ที่ Java เริ่มต้น
ตั้งค่า ProcessBuilder.environment สำหรับตัวดาวน์โหลด; คุณสมบัติพร็อกซี -D ใน JVM ไม่กลายเป็นตัวเลือกของ 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 การเปลี่ยนแปลงเหล่านี้ใช้กับกระบวนการที่ builder นี้เริ่มในภายหลัง ไม่ได้อัปเดตเทอร์มินัลหลักหรือ builder อื่น ตรวจสอบตัวแปรข้ามที่สืบทอดมาหาก curl ยังเชื่อมต่อโดยตรง สำหรับเส้นทางดาวน์โหลด HTTP สาธารณะ ให้เลือกปลายทางของโพรเซสลูกจาก รายการพร็อกซี HTTP
ตัวอย่างสืบทอดสตรีมมาตรฐาน รอโพรเซสลูก จัดการสถานะการออก และรักษานโยบายการยกเลิกของแอปพลิเคชันหลังจาก start()
คุณสมบัติระบบ http.proxyHost ของ Java เป็นของโค้ดเครือข่าย Java ที่เข้าร่วม Curl ใช้ตัวเลือกและสภาพแวดล้อมของตัวเอง หากโพรเซสลูกเป็นโปรแกรม Java อื่น ให้ส่งอาร์กิวเมนต์ -D ที่จำเป็น ก่อนคลาสหลัก หรือ -jar ตัวแปรสภาพแวดล้อมที่ชื่อเพียง http.proxyHost ไม่ได้ตั้งคุณสมบัตินั้น