জাভা থেকে চালু হওয়া 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();পরিবেশ ম্যাপটি জাভা প্রক্রিয়ার পরিবেশের একটি অনুলিপি হিসেবে শুরু হয়। এই পরিবর্তনগুলো এই বিল্ডার দ্বারা পরে চালু হওয়া প্রক্রিয়াগুলোতে প্রযোজ্য; এগুলো মূল টার্মিনাল বা অন্য বিল্ডার আপডেট করে না। curl এখনও সরাসরি গেলে উত্তরাধিকারসূত্রে পাওয়া বাইপাস ভেরিয়েবলগুলো পরীক্ষা করুন। একটি পাবলিক HTTP ডাউনলোড রুটের জন্য, HTTP প্রক্সির তালিকা থেকে চাইল্ডের এন্ডপয়েন্ট বেছে নিন।
উদাহরণটি স্ট্যান্ডার্ড স্ট্রিম উত্তরাধিকার করে। চাইল্ডের জন্য অপেক্ষা করুন, এর প্রস্থান অবস্থা পরিচালনা করুন এবং start()-এর পরে অ্যাপ্লিকেশনের বাতিল নীতি বজায় রাখুন।
জাভার http.proxyHost সিস্টেম বৈশিষ্ট্য অংশগ্রহণকারী জাভা নেটওয়ার্কিং কোডের। curl তার নিজস্ব অপশন ও পরিবেশ ব্যবহার করে। যদি চাইল্ডটি অন্য একটি জাভা প্রোগ্রাম হয়, তবে এর প্রয়োজনীয় -D আর্গুমেন্ট মূল ক্লাসের আগে বা -jar সরবরাহ করুন; শুধু http.proxyHost নামের একটি পরিবেশ ভেরিয়েবল সেই বৈশিষ্ট্য সেট করে না।