Java မှ စတင်လိုက်သော curl လုပ်ငန်းစဉ်အား ၎င်း၏ proxy ကိန်းရှင်များ ပေးပါ
ဒေါင်းလုဒ်အတွက် ProcessBuilder.environment ကို သတ်မှတ်ပါ; JVM ၏ -D proxy ဂုဏ်သတ္တိများသည် 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 မှ နောက်ပိုင်းတွင် စတင်မည့် လုပ်ငန်းစဉ်များအတွက် သက်ရောက်သည်; ၎င်းတို့သည် မူလ terminal သို့မဟုတ် အခြား builder ကို မွမ်းမံခြင်း မရှိပါ။ curl သည် တိုက်ရိုက် ဆက်သွားနေသေးလျှင် အမွေဆက်ခံထားသော ကျော်ဖြတ်ကိန်းရှင်များကို စစ်ဆေးပါ။ အများသူငှာ HTTP ဒေါင်းလုဒ်လမ်းကြောင်းအတွက် ကလေး၏ အဆုံးမှတ်ကို HTTP proxy စာရင်းမှ ရွေးပါ။
ဥပမာသည် စံစီးကြောင်းများကို အမွေဆက်ခံသည်။ ကလေးကို စောင့်ပါ၊ ၎င်း၏ ထွက်ပေါက်အခြေအနေကို ကိုင်တွယ်ပါ နှင့် start() နောက်တွင်လည်း အပလီကေးရှင်း၏ ပယ်ဖျက်မှုမူဝါဒကို ထိန်းသိမ်းပါ။
Java ၏ http.proxyHost စနစ်ဂုဏ်သတ္တိသည် ပါဝင်သော Java ကွန်ရက်ကုဒ်နှင့် သက်ဆိုင်သည်။ Curl သည် ၎င်း၏ ကိုယ်ပိုင် ရွေးချယ်စရာများနှင့် ပတ်ဝန်းကျင်ကို အသုံးပြုသည်။ ကလေးသည် အခြား Java ပရိုဂရမ် ဖြစ်လျှင် လိုအပ်သော -D အငြင်းပွားချက်များကို ပင်မ အတန်းမတိုင်မီ သို့မဟုတ် -jar ပေးပါ; http.proxyHost ဟု အမည်သာရှိသော ပတ်ဝန်းကျင်ကိန်းရှင်သည် ထိုဂုဏ်သတ္တိကို မသတ်မှတ်ပါ။