Bash curl প্রক্সি তালিকা: CRLF লাইন থেকে শেষের CR সরান
Bash-এ প্রক্সি URL লাইন ধরে ধরে পড়ুন এবং curl-এ মান পাঠানোর আগে CRLF ফাইল থেকে একটি শেষের CR সরান।
CRLF ফাইল থেকে কপি করা একটি লাইন proxy.example:8080-এর মতো দেখাতে পারে, অথচ ভেরিয়েবলটি আসলে একটি ক্যারেজ রিটার্ন দিয়ে শেষ হয়। ভেরিয়েবলটি কোটে রাখলে সেই অক্ষরটি সংরক্ষিত থাকে; তা সরিয়ে দেয় না।
প্রতি লাইনে একটি সম্পূর্ণ প্রক্সি URL থাকা Bash ফাইলের জন্য:
target='https://api.example/'
while IFS= read -r proxy || [ -n "$proxy" ]; do
proxy=${proxy%$'\r'}
if [ -z "$proxy" ]; then
continue
fi
curl --proxy "$proxy" --max-time 10 --url "$target"
done < ProxyList.txt
http://proxy.example:8080-এর মতো এন্ট্রি ব্যবহার করুন; HTTP প্রক্সি তালিকা এইভাবে ফরম্যাট করার মতো পাবলিক ঠিকানার প্রার্থী দেয়। read নতুন লাইনের বিভাজক সরায়; সাফিক্স বিস্তার থাকলে একটি শেষের CR সরায়। শর্তটি নতুন লাইন ছাড়া শেষের অশূন্য লাইনও প্রক্রিয়া করে।
IFS= read-এর সময় ফিল্ড বিভাজন রোধ করে, আর -r আক্ষরিক ব্যাকস্ল্যাশ সংরক্ষণ করে। এরপর দ্বৈত কোট ফলাফল URL-টি একটি curl আর্গুমেন্ট হিসেবে পাঠায়। কমান্ড-সাবস্টিটিউশনের আউটপুটে পুনরাবৃত্তি এড়িয়ে চলুন: শেলের শব্দ বিভাজন curl দেখার আগেই ফাইলের রেকর্ডের সীমা বদলে দিতে পারে।
এটি লাইনের শেষগুলো স্বাভাবিক করে। এটি ভুল লিসেনিং প্রোটোকল, অনুপস্থিত এন্ডপয়েন্ট বা অগম্য সেবা ঠিক করে না।