paint-brush
cURL का परिचय: सबसे लोकप्रिय HTTP क्लाइंटद्वारा@brightdata
423 रीडिंग
423 रीडिंग

cURL का परिचय: सबसे लोकप्रिय HTTP क्लाइंट

द्वारा Bright Data
Bright Data HackerNoon profile picture

Bright Data

@brightdata

From data collection to ready-made datasets, Bright Data allows you...

6 मिनट read2024/07/29
Read on Terminal Reader
Read this story in a terminal
Print this story

बहुत लंबा; पढ़ने के लिए

CURL एक कमांड-लाइन टूल और libcurl नामक लाइब्रेरी है, जिसमें SSL समर्थन, प्रॉक्सी टनलिंग, हेडर कॉन्फ़िगरेशन और कुकी प्रबंधन जैसी विशेषताएं हैं। cURL लिनक्स, macOS और विंडोज पर पहले से इंस्टॉल है, जो इसे कमांड लाइन में वेब अनुरोधों के लिए जाने वाला टूल बनाता है।
featured image - cURL का परिचय: सबसे लोकप्रिय HTTP क्लाइंट
Bright Data HackerNoon profile picture
Bright Data

Bright Data

@brightdata

From data collection to ready-made datasets, Bright Data allows you to retrieve the data that matters.

0-item

STORY’S CREDIBILITY

Guide

Guide

Walkthroughs, tutorials, guides, and tips. This story will teach you how to do something new or how to do something better.

वेब डेवलपर्स, अपने कीबोर्ड को संभाल कर रखें! अगर आपके टूलकिट में cURL नहीं है, तो आप खेल के सबसे शक्तिशाली टूल में से एक को मिस कर रहे हैं। cURL सिर्फ़ CLI-आधारित HTTP क्लाइंट नहीं है - यह कमांड-लाइन HTTP क्लाइंट है!


cURL के दिल की यात्रा पर हमारे साथ जुड़ें, जहाँ हम इसके रहस्यों को उजागर करेंगे, इसकी क्षमताओं का पता लगाएँगे, और आपको इसे एक पेशेवर की तरह इस्तेमाल करने के लिए ज्ञान से लैस करेंगे। cURL की असली शक्ति को उजागर करने के लिए तैयार हैं? चलो शुरू करते हैं!

cURL क्या है?

cURL , "क्लाइंट फॉर यूआरएल" का संक्षिप्त रूप है, एक सॉफ्टवेयर प्रोजेक्ट है जिसमें कमांड-लाइन टूल और libcurl नामक लाइब्रेरी शामिल है। यह जोड़ी नेटवर्क प्रोटोकॉल के एक स्पेक्ट्रम में URL सिंटैक्स के साथ डेटा ट्रांसफर में माहिर है। libcurl में SSL सपोर्ट, प्रॉक्सी टनलिंग, हेडर कॉन्फ़िगरेशन और कुकी प्रबंधन जैसी सुविधाएँ भी हैं।


libcurl द्वारा समर्थित प्रोटोकॉल की पूरी सूची में जाने पर ऐसा लगता है जैसे आप डिजिटल वर्णमाला सूप में नेविगेट कर रहे हों। इसमें HTTP, HTTPS, FTP, SFTP, IMAP, POP3, SMTP, MQTT और दर्जनों अन्य शामिल हैं। सूची इतनी लंबी है कि आपने उनमें से कुछ के बारे में कभी सुना भी नहीं होगा - निश्चिंत रहें, अगर ऐसा है तो आप अकेले नहीं हैं! 😜


cURL ने डेवलपर्स के बीच रॉक स्टार का दर्जा क्यों हासिल किया है? यह सब इसके क्रॉस-प्लेटफ़ॉर्म कौशल के कारण है! libcurl बाइंडिंग कई प्रोग्रामिंग भाषाओं में उपलब्ध है - PHP, Python और Java के बारे में सोचें - cURL विभिन्न तकनीकी स्टैक में सहजता से एकीकृत होता है। इसकी लोकप्रियता इसकी सर्वव्यापकता में निहित है। cURL लिनक्स, macOS और विंडोज पर पहले से इंस्टॉल है, जो इसे किसी भी मशीन पर टर्मिनल में वेब अनुरोधों के लिए जाने-माने टूल बनाता है।


चाहे वेब सामग्री प्राप्त करना हो, API का परीक्षण करना हो या फ़ाइलें अपलोड करना हो, cURL किसी भी वेब डेवलपर के टूलकिट में एक आवश्यक उपकरण के रूप में खड़ा है। इसकी अद्वितीय लचीलापन और दक्षता से कोई भी मुकाबला नहीं कर सकता। 🚀

cURL का कार्य: वाक्यविन्यास और उदाहरण

तो, आपके टूलकिट में cURL है, लेकिन इसका उपयोग कैसे करें? सरल! अपने टर्मिनल में इस सिंटैक्स का पालन करते हुए एक कमांड लॉन्च करें:

 curl [options] [URL]

URL गंतव्य है - वह ऑनलाइन सर्वर या संसाधन जिसे आप लक्षित कर रहे हैं, जबकि कुछ सामान्य cURL विकल्प हैं:

  • -X या --request : उपयोग हेतु HTTP विधि सेट करने के लिए.

  • -d या --data : अपने अनुरोध के मुख्य भाग में डेटा जोड़ने के लिए।

  • -b या --cookie : आपके अनुरोधों के लिए कुकीज़ प्रबंधित करने के लिए.

  • -H या --header : अपने अनुरोधों में कस्टम हेडर जोड़ने के लिए। एकाधिक हेडर के लिए, विकल्पों को कई बार दोहराएँ। डिफ़ॉल्ट रूप से GET

  • -v या --verbose : डिबगिंग के लिए विस्तृत जानकारी मुद्रित करने के लिए।


सभी उपलब्ध विकल्पों को जानने के लिए दस्तावेज़ देखें 🔎


⚠️ नोट 1 : सावधान रहें, कमांड-लाइन curl विकल्प संवेदनशील हैं। इस प्रकार, -x और -X के दो अलग-अलग अर्थ हैं।


⚠️ नोट 2 : PowerShell में, curl Invoke-Request का उपनाम है। Windows पर cURL का उपयोग करने के लिए, curl के बजाय curl.exe लिखें।


अब, HTTP विधियों द्वारा वर्गीकृत वास्तविक दुनिया के उदाहरणों में cURL सिंटैक्स को क्रियान्वित होते देखने के लिए तैयार हो जाइए!

पाना

लक्ष्य वेब पेज का स्रोत HTML प्राप्त करने के लिए cURL का उपयोग करने का तरीका यहां बताया गया है:

 curl "https://example.com/"


इसके अंतर्गत, cURL एक GET अनुरोध करेगा, https://example.com/ वेब पेज से संबद्ध HTML दस्तावेज़ को प्राप्त करेगा, और उसे टर्मिनल में प्रिंट करेगा।


आपने सिर्फ़ एक कमांड से जानकारी प्राप्त कर ली। प्रभावशाली है, है न? 🔥

डाक

नीचे दिया गया cURL POST उदाहरण एक नया उपयोगकर्ता बनाने के लिए आवश्यक JSON डेटा के साथ https://api.example.com/users एंडपॉइंट को कॉल करता है:

 curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' "https://api.example.com/users"


वांछित HTTP विधि निर्दिष्ट करने के लिए -X विकल्प पर ध्यान दें। -H विकल्प के उपयोग पर भी ध्यान दें, जो Content-Type हेडर सेट करता है, और -d विकल्प, जो स्ट्रिंग में कच्चे JSON डेटा को निर्दिष्ट करता है। एक समर्पित cURL POST अनुरोध गाइड देखें!

रखना

cURL PUT कॉल निम्नलिखित सिंटैक्स का पालन करते हैं:

 curl -X PUT -d "name=Amazon%20Scraping&description=Automated%20data%20extraction%20for%20retrieving%20price%20data&status=completed" "https://api.example.com/projects/12"


HTTP अनुरोध प्रदान किए गए डेटा का उपयोग करके ID 12 के साथ प्रोजेक्ट को अपडेट करेगा। इस उदाहरण में, अनुरोध बॉडी में डेटा application/x-www-form-urlencoded प्रारूप में है, जो ऊपर cURL POST कॉल में उपयोग किए गए JSON बॉडी के विपरीत है। डेटा प्रारूपों में यह लचीलापन विभिन्न उपयोग मामलों के लिए cURL की अनुकूलनशीलता को दर्शाता है।

पैबंद

क्या आप ऑनलाइन संसाधन के किसी एक फ़ील्ड को अपडेट करने के लिए cURL में PUT अनुरोध निष्पादित करना चाहते हैं? यहाँ बताया गया है कि आप यह कैसे कर सकते हैं:

 curl -X PATCH -d "status=failed" "https://api.example.com/projects/12"

मिटाना

cURL आपको DELETE अनुरोध करने और मौजूदा संस्थाओं के अस्तित्व को मिटाने की अनुमति देता है, जैसा कि नीचे दिया गया है:

 curl -X DELETE https://api.example.com/user/431


इस API कॉल के बाद, ID 431 वाला उपयोगकर्ता अब मौजूद नहीं रहेगा!

उन्नत cURL विकल्प

cURL कई विकल्प प्रदान करता है, जिनमें से प्रत्येक जटिल उपयोग मामलों के लिए एक अद्वितीय क्षमता प्रदान करता है। जैसे-जैसे आप उस ब्रह्मांड में आगे बढ़ते हैं, कुछ उन्नत विकल्प सामने आते हैं। यहाँ शीर्ष 10 सबसे उपयोगी उन्नत cURL विकल्प दिए गए हैं:


  • -o या --output :<stdoud> के स्थान पर निर्दिष्ट स्थानीय फ़ाइल में आउटपुट लिखने के लिए।
  • -O या --remote-name : आउटपुट को दूरस्थ फ़ाइल में सहेजने के लिए।
  • -i या --include : आउटपुट में प्रतिक्रिया HTTP हेडर शामिल करने के लिए।
  • -u या --user : उपयोगकर्ता user:password प्रारूप में उपयोगकर्ता नाम और पासवर्ड से प्रमाणीकरण करने के लिए।
  • -L या --location : जब सर्वर 3XX प्रतिक्रिया कोड के साथ प्रतिक्रिया करता है तो रीडायरेक्ट का अनुसरण करने के लिए।
  • -e या --referer : HTTP सर्वर को “रेफ़रर पेज” जानकारी भेजने के लिए।
  • -x या --proxy : अनुरोध करने के लिए प्रॉक्सी सर्वर का URL निर्दिष्ट करने के लिए। अधिक जानकारी के लिए, प्रॉक्सी के साथ cURL का उपयोग करने के तरीके पर हमारा ट्यूटोरियल पढ़ें या नीचे दिया गया वीडियो देखें।
  • --rate : अधिकतम स्थानांतरण आवृत्ति निर्दिष्ट करने के लिए जिसे आप cURL द्वारा सम्मान दिया जाना चाहते हैं ताकि दर-सीमित उपायों को ट्रिगर करने से बचा जा सके।
  • --data-binary : बिना किसी अतिरिक्त प्रसंस्करण के, डेटा को ठीक वैसे ही सर्वर पर भेजना जैसा निर्दिष्ट किया गया है।
  • --compressed : संपीड़ित प्रतिक्रिया का अनुरोध करने और प्रतिक्रिया सामग्री को स्वचालित रूप से विघटित करने के लिए।


इन विकल्पों में निपुणता प्राप्त करने से आप वेब इंटरैक्शन के निरंतर विकसित होते क्षेत्र में cURL को अद्वितीय कुशलता के साथ उपयोग करने में सक्षम हो जाते हैं।


cURL से अधिकतम लाभ कैसे प्राप्त करें

cURL वेब अनुरोधों के लिए एक पावरहाउस है, लेकिन इसका डिफ़ॉल्ट सेटअप इसे एंटी-बॉट उपायों के लिए असुरक्षित बनाता है। उदाहरण के लिए, इसके डिफ़ॉल्ट User-Agent हेडर पर विचार करें:

 curl/XYZ


cURL उपयोगकर्ता एजेंट मान को बदलने का तरीका देखें।


अब, इसकी तुलना क्रोम के नवीनतम उपयोगकर्ता एजेंट से करें:

 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

यह एक बिल्कुल अलग स्ट्रिंग है!


उस हेडर को ओवरराइड किए बिना cURL का उपयोग करना ठीक वैसा ही है जैसे लक्ष्य सर्वर पर चिल्लाना, "मुझे देखो! मैं एक स्वचालित, गैर-ब्राउज़र, रोबोट अनुरोध हूँ!"

image

इसमें कोई आश्चर्य की बात नहीं है कि इससे रक्षात्मक तंत्र सक्रिय हो सकता है 😅। साथ ही, यह न भूलें कि cURL सिर्फ़ एक HTTP क्लाइंट है। इसलिए, यह रेंडरिंग या डेटा पुनर्प्राप्ति के लिए जावास्क्रिप्ट पर निर्भर पृष्ठों से निपट नहीं सकता।


👎यदि आप वेब स्क्रैपिंग के लिए cURL का उपयोग करना चाहते हैं तो यह बुरा है!👎


तो क्या आपको cURL का उपयोग बंद कर देना चाहिए? बिलकुल नहीं! आपको बस इसे सही उपकरणों से लैस करने की ज़रूरत है! cURL की पूरी क्षमता को अनलॉक करने और इसकी सीमाओं को संबोधित करने के लिए, इसे निम्न में से किसी एक के साथ एकीकृत करें:


  • वेब प्रॉक्सी : प्रत्येक अनुरोध पर एक नया, भौगोलिक रूप से स्थित, विश्वसनीय आईपी प्राप्त करने के लिए; या
  • वेब अनलॉकिंग टूल : बॉट डिटेक्शन तकनीकों को दरकिनार करते हुए सार्वजनिक स्टैटिक्स या जावास्क्रिप्ट-निर्भर वेब पेजों तक पहुंचने के लिए।


आपका जो भी निर्णय हो, ब्राइट डेटा आपके लिए है! बाजार में सबसे बड़े और सबसे विश्वसनीय प्रॉक्सी नेटवर्क में से एक के साथ, ब्राइट डेटा के पास दुनिया भर में फैले लाखों प्रॉक्सी सर्वर हैं। साथ ही, इसका वेब अनलॉकर समाधान आपको cURL के माध्यम से किसी भी सार्वजनिक वेबसाइट तक पहुँचने में सक्षम बनाता है, चाहे उसके बॉट सुरक्षा का स्तर कुछ भी हो।

निष्कर्ष

HTTP क्लाइंट का रॉक स्टार cURL, टर्मिनल में वेब अनुरोध करने वाले डेवलपर्स के लिए सबसे उपयोगी टूल है। यहाँ, अब आपने सामान्य HTTP विधियों के साथ इसके उपयोग में महारत हासिल कर ली है और इसके विविध विकल्पों का पता लगा लिया है। यह एक शक्तिशाली टूल है, लेकिन वास्तविकता यह है कि अधिकांश साइटें यह पता लगाने में सक्षम होंगी कि आप cURL के माध्यम से उनसे संपर्क कर रहे हैं।


डरो मत! इसका उपाय सरल है: वेब प्रॉक्सी की मदद लें या, सर्वोत्तम परिणामों के लिए, ब्राइट डेटा से वेब अनलॉकर समाधान अपनाएँ। इंटरनेट को लोकतांत्रिक बनाने के हमारे मिशन में हमारे साथ जुड़ें, इसे हर किसी के लिए, हर जगह सुलभ बनाएँ - यहाँ तक कि शक्तिशाली cURL के माध्यम से भी!


अगली बार तक, स्वतंत्रता के साथ वेब का अन्वेषण करते रहें!

L O A D I N G
. . . comments & more!

About Author

Bright Data HackerNoon profile picture
Bright Data@brightdata
From data collection to ready-made datasets, Bright Data allows you to retrieve the data that matters.

लेबल

इस लेख में चित्रित किया गया था...

Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite