এই টিউটোরিয়ালে, আমরা কার্ল এবং উইজেট, কিভাবে শুরু করব এবং সবচেয়ে গুরুত্বপূর্ণভাবে তাদের মধ্যে পার্থক্যগুলি দেখব।
কার্ল কি?
cURL হল একটি ফ্রি এবং ওপেন সোর্স কমান্ড-লাইন ইউটিলিটি যা ব্যবহারকারীদের একটি রিমোট মেশিন থেকে অন্য রিমোট মেশিনে ডেটা ট্রান্সফার করতে দেয় ন্যূনতম বা কোন ব্যবহারকারীর মিথস্ক্রিয়া ছাড়া। রাউটার, প্রিন্টার, ফোন, ট্যাবলেট, মিডিয়া প্লেয়ার এবং আরও অনেক কিছুতে CURL ব্যবহার প্রচলিত।
এটি HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER, এবং আরো অনেকের মতো প্রোটোকল ব্যবহার করে ডাউনলোড এবং আপলোড সমর্থন করে।
cURL প্রক্সি, সারসংকলন স্থানান্তর, ব্যবহারকারীর প্রমাণীকরণ, SSL সার্টিফিকেট এবং আরও অনেক কিছু প্রদান করে।
Wget কি?
GNU Wget, যাকে সাধারণত wget বলা হয়, HTTP/HTTPS, FTP, এবং FTPS ব্যবহার করে ফাইল স্থানান্তরের জন্য একটি ফ্রি কমান্ড-লাইন ইউটিলিটি। এটি পুনরাবৃত্তিমূলক ডাউনলোড, ব্যান্ডউইথ নিয়ন্ত্রণ, পুনর্সূচনা বাতিল করা স্থানান্তর, পটভূমি ডাউনলোড, পুনরাবৃত্তিমূলক মিরর ফাইল এবং ডিরেক্টরি এবং আরও অনেক কিছু বৈশিষ্ট্য সরবরাহ করে।
কিভাবে CURL এবং Wget ইনস্টল করবেন?
বড় লিনাক্স ডিস্ট্রিবিউশনে cURL এবং wget সহজেই পাওয়া যায় এমন জনপ্রিয় সরঞ্জাম; যদি আপনার কোন টুল ইনস্টল না থাকে, তাহলে আপনি ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
ডেবিয়ান/উবুন্টু:
# CURL ইনস্টল করুনsudo apt-get installকার্ল
# wget ইনস্টল করুন
sudo apt-get install wget
আর্চ / মানজারো:
# CURL ইনস্টল করুনsudoপ্যাকম্যান-এসকার্ল
# wget ইনস্টল করুন
sudoপ্যাকম্যান-এস wget
REHL/CentOS/Fedora:
# CURL ইনস্টল করুনsudo yum ইনস্টল করুনকার্ল
sudodnfইনস্টলকার্ল
# wget ইনস্টল করুন
sudo yum ইনস্টল করুন wget
sudodnfইনস্টল wget
কিভাবে CURL এবং Wget ব্যবহার করবেন (উদাহরণ ব্যবহারের ক্ষেত্রে)?
আপনি CURL এবং wget এর মধ্যে মিল এবং পার্থক্য বুঝতে পারেন তা নিশ্চিত করার জন্য, কয়েকটি উদাহরণ দেখে নেওয়া ভাল:
HTTP/HTTPS প্রোটোকল:
CURL এবং wget উভয়ই HTTP এবং HTTPS প্রোটোকল সমর্থন করে। অতএব, যদি আমরা linuxhint.com এর মতো একটি ওয়েবসাইট ডাউনলোড করি:
কার্ল https://linuxhint.com-অথবাlinuxhint.htmlকার্ল https://linuxhint.com-অথবাlinuxhint.html
%মোট%প্রাপ্তি%Xferd গড় গতি সময় সময় বর্তমান
আপলোড মোট ব্যয় বাম গতি আপলোড করুন
100256 হাজার0256 হাজার0 0166k0-: -: -0: 00: 01-:--166 কে
ডিফল্টরূপে, cURL টার্মিনালে ওয়েব রিসোর্সের বিষয়বস্তু মুদ্রণ করবে। আউটপুটকে একটি ফাইলে পুন redনির্দেশিত করতে আমরা -o পতাকা ব্যবহার করি।
নিম্নলিখিত wget প্রযোজ্য:
wgethttps://linuxhint.com--2021-06-2005:09:চার পাঁচ- https://linuxhint.com/
Linuxhint.com সমাধান করা হচ্ছে(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
Linuxhint.com এর সাথে সংযুক্ত হচ্ছে(linuxhint.com)|104.21.58.234|:443... সংযুক্ত।
HTTP অনুরোধ পাঠানো হয়েছে, প্রতিক্রিয়ার অপেক্ষায় ...200ঠিক আছে
দৈর্ঘ্য: অনির্দিষ্ট[পাঠ্য/html]
এতে সংরক্ষণ করা হচ্ছে: 'index.html'
index.html
[ <=> ]256.25 কে 506 কেবি/গুলিভিতরে0.5 সে
২০২১-06-বিশ05:09:46 (506কেবি/গুলি)- 'index.html' সংরক্ষিত[262396]
Wget, অন্যদিকে, অনুরোধ করা সম্পদ একটি ফাইলে সংরক্ষণ করে।
এটা মনে রাখা ভাল যে উভয় সরঞ্জামই সম্পদ ডাউনলোড করে। দুটি ফাইলের ls বিবরণ উভয় ফাইলের আকার দেখায়।
$ls -দ্যindex.html linuxhint.html-আরডাব্লু-আরডাব্লু-আর- ঘlinuxhint linuxhint262396জুন19 পনের:পঞ্চাশindex.html
-আরডাব্লু-আরডাব্লু-আর- ঘlinuxhint linuxhint262396জুনবিশ05:07 linuxhint.html
এফটিপি প্রোটোকল:
CURL এবং wget উভয়ই FTP প্রোটোকলে ডাউনলোড সমর্থন করে। যাইহোক, CURL ftp এ আপলোড করা সমর্থন করে।
Wget দিয়ে FTP সার্ভার থেকে ফাইল ডাউনলোড করতে নিচের কমান্ডটি ব্যবহার করুন:
wget -ব্যবহারকারী= ডেবিয়ান-পাসওয়ার্ড= 'ডেবিয়ান' ftp://192.168.0.112/backup.zstwget -ব্যবহারকারী= ডেবিয়ান-পাসওয়ার্ড='ডেবিয়ান'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06-- ftp://192.168.0.112/backup.zst
=>'Backup.zst'
192.168.0.112 এর সাথে সংযুক্ত হচ্ছে:একুশ... সংযুক্ত।
লগিংভিতরে হিসাবেডেবিয়ান ... লগ ইনভিতরে!
==>সিস্টেম ... সম্পন্ন। ==>পিডব্লিউডি ... হয়ে গেছে।
==>টাইপ আমি ... সম্পন্ন। ==>CWD এর প্রয়োজন নেই।
==>SIZE backup.zst ... সম্পন্ন।
==>PASV ... সম্পন্ন। ==>RETR backup.zst ... সম্পন্ন।
backup.zst
[ <=> ] 0-কেবি/গুলিভিতরে0 সেকেন্ড
২০২১-06-বিশ05:29: 06(0.00খ/গুলি)- 'backup.zst' সংরক্ষিত[0]
কার্ল ব্যবহার করে, যোগ করুন-উপতাকা হিসাবে:
কার্ল-উডেবিয়ান: ডেবিয়ান 'ftp://192.168.0.112/backup.zst ’-অথবাbackup.zst
কার্ল-উডেবিয়ান: ডেবিয়ান'ftp://192.168.0.112/backup.zst' -অথবাbackup.zst
%মোট%প্রাপ্তি%Xferd গড় গতি সময় সময় বর্তমান
আপলোড মোট ব্যয় বাম গতি আপলোড করুন
0 0 0 0 0 0 0 0-: -: - -: -: -: - -: -: -0
আপলোড করার জন্য aফাইলপ্রতিftpকার্ল দিয়ে, আমরা-টিবিকল্প হিসাবে:
কার্ল-উডেবিয়ান: ডেবিয়ান-টিbackup1.zst ftp://192.168.0.112/ftp/
নিশ্চিত করুন যে ডিরেক্টরিটি বিদ্যমান এবং ব্যবহারকারীর এটিতে লেখার অনুমতি রয়েছে।
বিঃদ্রঃ: যদিও CURL বিভিন্ন প্রোটোকল সমর্থন করে, এটি পুনরাবৃত্তিমূলক ডাউনলোড প্রদান করে না। অন্যদিকে, Wget –recursive বিকল্প ব্যবহার করে পুনরাবৃত্তিমূলক ডাউনলোড সমর্থন করে কারণ HTTP/HTTPS এবং FTP/FTPS প্রোটোকল উভয়ই এই ধরনের কার্যকারিতা প্রদান করে।
Wget এবং cURL এর মধ্যে মিল
এখন কেকের আইসিংয়ের জন্য:
- উভয় সরঞ্জামই HTTP, HTTPS, FTP, FTPS এর মতো প্রমিত প্রোটোকল সমর্থন করে।
- উভয় সরঞ্জামই ইন্টারনেট থেকে ফাইল ডাউনলোড করে।
- উভয় সরঞ্জামই HTTP কুকিজ সমর্থন করে।
- উভয় সরঞ্জামই একটি ফাইলে আউটপুট সমর্থন করে।
- উভয় বিনামূল্যে এবং সক্রিয়ভাবে উন্নত সরঞ্জাম।
- উভয় সরঞ্জামই সারসংকলন স্থানান্তর সমর্থন করে।
- উভয় সরঞ্জামই HTTP পোস্ট সমর্থন করে।
Wget এবং cURL এর মধ্যে পার্থক্য
এখানে কার্ল এবং উইজেটের মধ্যে কিছু পার্থক্য রয়েছে:
- Wget একটি সহজ স্থানান্তর ইউটিলিটি, যখন কার্ল আরও অনেক কিছু প্রদান করে।
- কার্ল libcurl লাইব্রেরি প্রদান করে, যা GUI অ্যাপ্লিকেশনে সম্প্রসারিত করা যায়। অন্যদিকে, Wget হল একটি সাধারণ কমান্ড-লাইন ইউটিলিটি।
- CURL এর তুলনায় Wget কম প্রোটোকল সমর্থন করে।
- পুনরাবৃত্ত ডাউনলোডগুলি কার্ল সমর্থিত নয়।
- Wget স্থানীয়ভাবে লিনাক্স সিস্টেমে পাওয়া যায়, যখন cURL উইন্ডোজ সিস্টেমে সহজেই পাওয়া যায়।
- cURL একাধিক সমান্তরাল স্থানান্তর সমর্থন করে।
- cURL ট্রান্সফার-এনকোডেড HTTP ডিকম্প্রেসন করে, যখন wget করে না।
- cURL দ্বিমুখী HTTP সমর্থন করে যখন wget একটি সাধারণ HTTP পোস্ট দেয়।
- cURL wget এর তুলনায় আরো HTTP auth পদ্ধতি সমর্থন করে।
- Wget SOCKS সমর্থন করে না।
- Wget gnulib ইনস্টল করা প্রয়োজন।
- কার্লের বিপরীতে, কুকিজ, টাইমস্ট্যাম্প এবং ফলো রিডাইরেক্টের মতো বৈশিষ্ট্যগুলি wget এ ডিফল্টরূপে সক্ষম করা হয়। cURL- এর প্রত্যেকটি স্পষ্টভাবে নির্দিষ্ট করা প্রয়োজন।
উপসংহার
এই টিউটোরিয়ালটি CURL এর মধ্যে মিল এবং পার্থক্যের উপর দৃষ্টি নিবদ্ধ করেছে। যদিও এটি মনে হতে পারে যে CURL উচ্চতর পছন্দ, এমন কিছু উদাহরণ রয়েছে যেখানে wget সেরা পছন্দ।
আপনার জন্য আমার পরামর্শ হল আপনার জন্য কি কাজ করে তা বেছে নিন।