הגדירו את הקלט של המוריד ב-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 אינו מגדיר את המאפיין הזה.

מאמרים קשורים