लिनक्स में 'कर्ल' कमांड का उपयोग करने के 15 टिप्स


1990 के दशक के मध्य में जब इंटरनेट अभी भी अपनी प्रारंभिक अवस्था में था, एक स्वीडिश प्रोग्रामर जिसका नाम डैनियल स्टेनबर्ग था, ने एक परियोजना शुरू की जो अंततः आज हम कर्ल के रूप में जानते हैं।

प्रारंभ में, उन्होंने एक बॉट विकसित करने का लक्ष्य रखा, जो समय-समय पर एक वेब पेज से मुद्रा विनिमय दरों को डाउनलोड करेगा और आईआरसी उपयोगकर्ताओं को अमेरिकी डॉलर में स्वीडिश क्रोनर समकक्ष प्रदान करेगा।

लंबी कहानी छोटी, परियोजना संपन्न हुई, रास्ते में कई प्रोटोकॉल और सुविधाएँ - और बाकी इतिहास है। अब दोनों पैरों से गोता लगाएँ और सीखें कि लिनक्स में डेटा और अधिक स्थानांतरित करने के लिए कर्ल का उपयोग कैसे करें!

हमने आपके लिए 15 कर्ल कमांड की निम्नलिखित सूची को एक साथ रखा है।

1. देखें कर्ल संस्करण

<कोड> -V या <कोड> - संस्करण विकल्प न केवल संस्करण को लौटाएंगे, बल्कि आपके वर्तमान संस्करण में समर्थित प्रोटोकॉल और विशेषताएं भी होंगे।

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. एक फ़ाइल डाउनलोड करें

यदि आप कोई फ़ाइल डाउनलोड करना चाहते हैं, तो आप -O या -o विकल्पों के साथ कर्ल का उपयोग कर सकते हैं। पूर्व फ़ाइल को वर्तमान कार्य निर्देशिका में दूरस्थ स्थान के समान नाम से बचाएगा, जबकि उत्तरार्द्ध आपको एक अलग फ़ाइल नाम और/या स्थान निर्दिष्ट करने की अनुमति देता है।

$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. एक बाधित डाउनलोड फिर से शुरू करें

यदि किसी कारण से कोई डाउनलोड बाधित हुआ था (उदाहरण के लिए, Ctrl + c ) का उपयोग करके, आप इसे बहुत आसानी से फिर से शुरू कर सकते हैं। <कोड> -सी - (डैश सी, स्पेस डैश) का उपयोग कर्ल को डाउनलोड की शुरुआत को फिर से शुरू करने के लिए कहता है, जहां इसे छोड़ा गया था।

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. कई फाइलें डाउनलोड करें

निम्नलिखित कमांड से आप info.html और about.html डाउनलोड करेंगे http://yoursite.com और http://mysite.com , क्रमशः, एक बार में।

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. एक फ़ाइल से URL डाउनलोड करें

यदि आप xargs के साथ कर्ल जोड़ते हैं, तो आप एक फ़ाइल में URL की सूची से फ़ाइलें डाउनलोड कर सकते हैं।

$ xargs -n 1 curl -O < listurls.txt

6. प्रमाणीकरण के साथ या उसके बिना एक प्रॉक्सी का उपयोग करें

यदि आप पोर्ट 8080 पर xy.yourdomain.com पर सुन रहे हैं, तो एक सर्वर करें।

$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

यदि आप -U उपयोगकर्ता: पासवर्ड को छोड़ सकते हैं, यदि आपके प्रॉक्सी को प्रमाणीकरण की आवश्यकता नहीं है।

7. HTTP हेडर क्वेरी करें

HTTP हेडर दूरस्थ वेब सर्वर को वास्तविक अनुरोध के साथ अपने बारे में अतिरिक्त जानकारी भेजने की अनुमति देता है। यह क्लाइंट को यह विवरण प्रदान करता है कि अनुरोध को किस तरह से हैंडल किया जा रहा है।

एक वेबसाइट से HTTP हेडर को क्वेरी करने के लिए, निम्न करें:

$ curl -I linux-console.net

यह जानकारी आपके ब्राउज़र के डेवलपर टूल में भी उपलब्ध है।

8. पैरामीटर के साथ एक पोस्ट अनुरोध करें

निम्न आदेश FirstName और lastName पैरामीटर को उनके संबंधित मानों के साथ, https://yourdomain.com/info.php पर भेज देगा। ।

$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php

आप एक नियमित HTML फॉर्म के व्यवहार को अनुकरण करने के लिए इस टिप का उपयोग कर सकते हैं।

9. किसी एफ़टीपी सर्वर से या प्रमाणीकरण के बिना फ़ाइलों को डाउनलोड करें

यदि कोई दूरस्थ FTP सर्वर ftp:/yourftpserver पर कनेक्शन की अपेक्षा कर रहा है, तो निम्न कमांड वर्तमान कार्य निर्देशिका में yourfile.tar.gz डाउनलोड करेगा।

$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

अगर आप FTP सर्वर को गुमनाम लॉगिन की अनुमति देते हैं तो आप -u उपयोगकर्ता नाम: पासवर्ड को छोड़ सकते हैं।

10. ऑथेंटिकेशन के साथ या बिना एफ़टीपी सर्वर पर फाइल अपलोड करें

mylocalfile.tar.gz से ftp:/yourftpserver नामक स्थानीय फ़ाइल को कर्ल का उपयोग करने के लिए करें:

$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. उपयोगकर्ता एजेंट निर्दिष्ट करें

उपयोगकर्ता एजेंट उस जानकारी का हिस्सा है जिसे HTTP अनुरोध के साथ भेजा जाता है। यह इंगित करता है कि अनुरोध करने के लिए क्लाइंट किस ब्राउज़र का उपयोग करता है। आइए देखें कि हमारा वर्तमान कर्ल संस्करण डिफ़ॉल्ट के रूप में क्या उपयोग करता है, और इसे बाद में " मैं एक नया वेब ब्राउज़र " बदल दूंगा:

$ curl -I http://localhost --user-agent "I am a new web browser"

12. स्टोर वेबसाइट कुकीज़

जब आप https://www.cnn.com पर ब्राउज़ करते हैं, तो आपके कंप्यूटर पर कौन से कुकीज़ डाउनलोड किए गए हैं? उन्हें cnncookies.txt पर सहेजने के लिए निम्न आदेश का उपयोग करें। फिर आप फ़ाइल को देखने के लिए कैट कमांड का उपयोग कर सकते हैं।

$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. वेबसाइट कुकीज़ भेजें

आप एक ही साइट पर बाद के अनुरोधों में अंतिम टिप में प्राप्त कुकीज़ का उपयोग कर सकते हैं।

$ curl --cookie cnncookies.txt https://www.cnn.com

14. नाम समाधान को संशोधित करें

यदि आप एक वेब डेवलपर हैं और लाइव पुश करने से पहले yourdomain.com का स्थानीय संस्करण परीक्षण करना चाहते हैं, तो आप कर्ल को हल कर सकते हैं http://www.yourdomain.com अपने स्थानीयहोस्ट को ऐसे करें:

$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

इस प्रकार, क्वेरी http://www.yourdomain.com कर्ल को DNS या /etc/मेजबान फ़ाइल का उपयोग करने के बजाय स्थानीयहोस्ट से साइट का अनुरोध करने के लिए कहेगी।

15. सीमा डाउनलोड दर

अपने बैंडविड्थ को रोकने से कर्ल को रोकने के लिए, आप डाउनलोड दर को 100 KB/s तक सीमित कर सकते हैं।

$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

इस लेख में हमने कर्ल की उत्पत्ति का एक संक्षिप्त इतिहास साझा किया है और बताया कि इसे 15 व्यावहारिक उदाहरणों के माध्यम से कैसे उपयोग किया जाए।

क्या आप किसी अन्य कर्ल कमांड के बारे में जानते हैं जो हम इस लेख में याद कर सकते हैं? टिप्पणी में उन्हें हमारे समुदाय के साथ साझा करने के लिए स्वतंत्र महसूस करें! इसके अलावा, यदि आपके पास कोई सवाल है तो हमें बेझिझक बताएं। हम आपके उत्तर की प्रतीक्षा में हैं!