बेसिक cURL ट्यूटोरियल
विषयसूची:
- कर्ल स्थापित करना
- उबंटू और डेबियन पर कर्ल स्थापित करें
- CentOS और Fedora पर कर्ल इंस्टॉल करें
- कर्ल का उपयोग कैसे करें
- फ़ाइल में आउटपुट सहेजें
- एकाधिक फ़ाइलों को डाउनलोड करें
- डाउनलोड फिर से शुरू करें
- एक URL के HTTP हेडर प्राप्त करें
- उपयोगकर्ता-एजेंट बदलें
- एक अधिकतम स्थानांतरण दर निर्दिष्ट करें
- FTP के जरिए फाइल ट्रांसफर करें
- कुकीज़ भेजें
- प्रॉक्सी का उपयोग करना
- निष्कर्ष
curl
उपयोगकर्ता से बातचीत के बिना काम करने के लिए डिज़ाइन किए गए सर्वर से या डेटा स्थानांतरित करने के लिए एक कमांड-लाइन उपयोगिता है।
curl
साथ, आप HTTP, HTTPS, SCP, SFTP, और FTP सहित समर्थित प्रोटोकॉल में से एक का उपयोग करके डेटा डाउनलोड या अपलोड कर सकते हैं।
curl
आपको स्थानांतरण को फिर से शुरू करने, बैंडविड्थ को सीमित करने, प्रॉक्सी समर्थन, उपयोगकर्ता प्रमाणीकरण और बहुत कुछ करने की अनुमति देता है।
इस ट्यूटोरियल में, हम आपको दिखाएंगे कि कैसे कर्ल टूल का उपयोग व्यावहारिक उदाहरणों और सबसे सामान्य कर्ल विकल्पों के विस्तृत स्पष्टीकरण के माध्यम से किया जाता है।
कर्ल स्थापित करना
कर्ल पैकेज आज अधिकांश लिनक्स वितरण पर पूर्व-स्थापित है।
यह जांचने के लिए कि आपके सिस्टम पर कर्ल पैकेज स्थापित है या नहीं, अपना कंसोल खोलें,
curl
टाइप करें, और एंटर दबाएँ। यदि आपने
curl
स्थापित किया है, तो सिस्टम
curl: try 'curl --help' or 'curl --manual' for more information
को प्रिंट करेगा
curl: try 'curl --help' or 'curl --manual' for more information
। अन्यथा, आपको कुछ ऐसा दिखाई देगा जैसे
curl command not found
।
यदि
curl
स्थापित नहीं है, तो आप अपने वितरण के पैकेज प्रबंधक का उपयोग करके इसे आसानी से स्थापित कर सकते हैं।
उबंटू और डेबियन पर कर्ल स्थापित करें
sudo apt update
sudo apt install curl
CentOS और Fedora पर कर्ल इंस्टॉल करें
कर्ल का उपयोग कैसे करें
curl
कमांड के लिए सिंटैक्स निम्नानुसार है:
curl
अपने सरलतम रूप में, बिना किसी विकल्प के
curl
,
curl
निर्दिष्ट संसाधन को मानक आउटपुट में प्रदर्शित करता है।
उदाहरण के लिए, आपके द्वारा चलाए जाने वाले
example.com
मुखपृष्ठ को पुनः प्राप्त करने के लिए:
curl example.com
कमांड आपके टर्मिनल विंडो में
example.com
होमपेज के सोर्स कोड को प्रिंट करेगी।
यदि कोई प्रोटोकॉल निर्दिष्ट नहीं है, तो
curl
उस प्रोटोकॉल का अनुमान लगाने की कोशिश करता है जिसे आप उपयोग करना चाहते हैं, और यह
HTTP
डिफ़ॉल्ट होगा।
फ़ाइल में आउटपुट सहेजें
curl
कमांड के परिणाम को बचाने के लिए,
-o
या
-O
विकल्प का उपयोग करें।
लोअरकेस
-o
फ़ाइल को पूर्वनिर्धारित फ़ाइल नाम से बचाता है, जो नीचे दिए गए उदाहरण में
vue-v2.6.10.js
:
curl -o vue-v2.6.10.js
Uppercase
-O
फ़ाइल को उसके मूल फ़ाइल नाम से बचाता है:
एकाधिक फ़ाइलों को डाउनलोड करें
एक साथ कई फ़ाइलों को डाउनलोड करने के लिए, एकाधिक
-O
विकल्पों का उपयोग करें, इसके बाद URL जिस फ़ाइल को आप डाउनलोड करना चाहते हैं।
निम्नलिखित उदाहरण में हम आर्क लिनक्स और डेबियन आईएसओ फाइल डाउनलोड कर रहे हैं:
curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \
-O
डाउनलोड फिर से शुरू करें
आप
-C -
विकल्प का उपयोग करके एक डाउनलोड फिर से शुरू कर सकते हैं। यह उपयोगी है यदि आपका कनेक्शन एक बड़ी फ़ाइल के डाउनलोड के दौरान गिरता है, और खरोंच से डाउनलोड शुरू करने के बजाय, आप पिछले एक को जारी रख सकते हैं।
उदाहरण के लिए, यदि आप निम्न कमांड का उपयोग करके Ubuntu 18.04 iso फ़ाइल डाउनलोड कर रहे हैं:
curl -O
और अचानक आपका कनेक्शन गिर जाता है जिसे आप डाउनलोड के साथ फिर से शुरू कर सकते हैं:
एक URL के HTTP हेडर प्राप्त करें
HTTP हेडर उपयोगकर्ता-एजेंट, सामग्री प्रकार और एन्कोडिंग जैसी जानकारी वाले बृहदान्त्र-अलग-अलग कुंजी-मूल्य जोड़े हैं। अनुरोध और प्रतिक्रिया के साथ क्लाइंट और सर्वर के बीच हेडर पास किए जाते हैं।
निर्दिष्ट संसाधन के केवल HTTP हेडर लाने के लिए
-I
विकल्प का उपयोग करें:
curl -I --http2
-L
विकल्प
curl
को निर्देश देता है कि वह अंतिम गंतव्य तक पहुंचने तक किसी भी पुनर्निर्देशन का पालन करे:
उपयोगकर्ता-एजेंट बदलें
कभी-कभी किसी फ़ाइल को डाउनलोड करते समय, कर्ल उपयोगकर्ता-एजेंट को ब्लॉक करने या विज़िटर डिवाइस और ब्राउज़र के आधार पर विभिन्न सामग्रियों को वापस करने के लिए रिमोट सर्वर सेट किया जा सकता है।
एक अलग ब्राउज़र का अनुकरण करने के लिए इस तरह की स्थितियों में
-A
विकल्प का उपयोग करें।
उदाहरण के लिए फ़ायरफ़ॉक्स 60 का उपयोग करने के लिए:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
एक अधिकतम स्थानांतरण दर निर्दिष्ट करें
-
--limit-rate
विकल्प आपको डेटा अंतरण दर को सीमित करने की अनुमति देता है। मूल्य बाइट्स में व्यक्त किया जा सकता है,
k
प्रत्यय के साथ किलोबाइट्स,
m
प्रत्यय के साथ मेगाबाइट और
g
प्रत्यय के साथ गीगाबाइट।
निम्न उदाहरण में
curl
गो बाइनरी डाउनलोड करेगा और डाउनलोड स्पीड को 1 एमबी तक सीमित करेगा:
curl --limit-rate 1m -O
यह विकल्प सभी उपलब्ध बैंडविड्थ की खपत को रोकने के लिए उपयोगी है।
FTP के जरिए फाइल ट्रांसफर करें
curl
साथ एक संरक्षित एफ़टीपी सर्वर तक पहुंचने के लिए,
-u
विकल्प का उपयोग करें और नीचे दिखाए गए अनुसार उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
एक बार लॉग इन करने के बाद, कमांड उपयोगकर्ता की होम डायरेक्टरी में सभी फाइलों और निर्देशिकाओं को सूचीबद्ध करता है।
आप निम्न सिंटैक्स का उपयोग करके एफ़टीपी सर्वर से एक फ़ाइल डाउनलोड कर सकते हैं:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
एफ़टीपी सर्वर पर फ़ाइल अपलोड करने के लिए, उस फ़ाइल के नाम के बाद
-T
उपयोग करें जिसे आप अपलोड करना चाहते हैं:
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
कुकीज़ भेजें
कभी-कभी आपको दूरस्थ संसाधन तक पहुंचने या किसी समस्या को डीबग करने के लिए विशिष्ट कुकीज़ के साथ HTTP अनुरोध करने की आवश्यकता हो सकती है।
डिफ़ॉल्ट रूप से, जब
curl
साथ संसाधन का अनुरोध किया जाता है, तो कोई कुकीज़ नहीं भेजी जाती हैं या संग्रहीत की जाती हैं।
कुकीज़ को सर्वर पर भेजने के लिए,
-b
स्विच का उपयोग करें, इसके बाद कुकीज़ या स्ट्रिंग वाले फाइलनाम का उपयोग करें।
उदाहरण के लिए, Oracle जावा JDK rpm फ़ाइल को डाउनलोड करने के लिए
jdk-10.0.2_linux-x64_bin.rpm
आपको मान के साथ
oraclelicense
नामक कुकी पास करना होगा:
curl -L -b "oraclelicense=a" -O
प्रॉक्सी का उपयोग करना
curl
HTTP, HTTPS और SOCKS सहित विभिन्न प्रकार के परदे के पीछे का समर्थन करता है। प्रॉक्सी सर्वर के माध्यम से डेटा ट्रांसफर करने के लिए, प्रॉक्सी URL के बाद
-x
(
--proxy
) विकल्प का उपयोग करें।
निम्न कमांड
192.168.44.1
पोर्ट
8888
पर प्रॉक्सी का उपयोग करके निर्दिष्ट संसाधन डाउनलोड करता है:
curl -x 192.168.44.1:8888
यदि प्रॉक्सी सर्वर को प्रमाणीकरण की आवश्यकता होती है, तो उपयोक्ता नाम और पासवर्ड द्वारा
--proxy-user
(
user:password
) के बाद
-U
(
--proxy-user
) विकल्प का उपयोग करें:
curl -U username:password -x 192.168.44.1:8888
निष्कर्ष
curl
एक कमांड-लाइन टूल है जो आपको दूरस्थ होस्ट से डेटा स्थानांतरित करने की अनुमति देता है। यह समस्या निवारण, फ़ाइलों को डाउनलोड करने और बहुत कुछ के लिए उपयोगी है।
इस ट्यूटोरियल में दिखाए गए उदाहरण सरल हैं, लेकिन सबसे अधिक उपयोग किए जाने वाले
curl
विकल्पों को प्रदर्शित करते हैं और यह समझने में आपकी सहायता करते हैं कि
curl
कमांड कैसे काम करता है।
curl
बारे में अधिक जानकारी के लिए कर्ल डॉक्यूमेंटेशन पेज पर जाएँ।
उदाहरणों के साथ लिनक्स में इको कमांड
इको कमांड लिनक्स में सबसे बुनियादी और अक्सर उपयोग की जाने वाली कमांड में से एक है। गूँजने के लिए दिए गए तर्क मानक आउटपुट पर मुद्रित होते हैं।
उदाहरणों के साथ लिनक्स कट कमांड
कट एक कमांड लाइन उपयोगिता है जो आपको निर्दिष्ट फ़ाइलों या पाइप किए गए डेटा से लाइनों के कुछ हिस्सों को काटने और परिणाम को मानक आउटपुट पर प्रिंट करने की अनुमति देता है। इस ट्यूटोरियल में, हम आपको दिखाएंगे कि व्यावहारिक उदाहरणों के माध्यम से लिनक्स कट कमांड का उपयोग कैसे करें और सबसे आम कट विकल्पों में से विस्तृत विवरण।
उदाहरणों के साथ लिनक्स तिथि कमांड
दिनांक आदेश सिस्टम दिनांक प्रदर्शित या सेट करता है। यह आमतौर पर विभिन्न स्वरूपों में तारीख और समय को प्रिंट करने और भविष्य और पिछली तारीखों की गणना करने के लिए उपयोग किया जाता है।