जब आप HTTP कोड के साथ काम कर रहे हों तो कर्ल कमांड लाइन टूल एक आदर्श सहायक है। अनुरोधों का परीक्षण करें, डेटा स्वरूपों का पता लगाएं, और बहुत कुछ!
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP) इंटरनेट पर संचार की रीढ़ है, सर्वर और क्लाइंट के बीच डेटा के हस्तांतरण की अनुमति देता है। हालाँकि, HTTP एंडपॉइंट्स के साथ बातचीत करना चुनौतीपूर्ण हो सकता है, खासकर शुरुआती लोगों के लिए।
सौभाग्य से, कमांड-लाइन टूल कर्ल, HTTP अनुरोध भेजने और प्राप्त करने का एक आसान और कुशल तरीका प्रदान करता है। यहां आप सीखेंगे कि मूल पोस्ट, प्राप्त, डिलीट और पुट HTTP अनुरोध करने के लिए कर्ल का उपयोग कैसे करें।
कर्ल स्थापित करना
डिफ़ॉल्ट रूप से, macOS, Linux और Unix सहित प्रमुख ऑपरेटिंग सिस्टम पर कर्ल इंस्टॉल किया जाता है।
आप पुष्टि कर सकते हैं कि आपने नीचे कमांड चलाकर कर्ल स्थापित किया है:
कर्ल
उपरोक्त आदेश को आपके टर्मिनल पर "अधिक जानकारी के लिए 'कर्ल - सहायता' या 'कर्ल --मैनुअल' आज़माएं" प्रिंट करना चाहिए।
यदि आपके ऑपरेटिंग सिस्टम पर कर्ल स्थापित नहीं है, तो आप इसे डाउनलोड और इंस्टॉल कर सकते हैं कर्ल डाउनलोड पृष्ठ.
HTTP GET अनुरोध बनाना
एक HTTP GET अनुरोध डेटा का अनुरोध करने का एक तरीका है एक वेब सर्वर. आप इन अनुरोधों का उपयोग किसी विशिष्ट संसाधन, जैसे वेब पेज, छवि या वीडियो को पुनः प्राप्त करने के लिए कर सकते हैं।
आप नीचे दिए गए प्रारूप में कर्ल के साथ GET अनुरोध कर सकते हैं:
कर्ल-एक्स प्राप्त करें
बदलना उस संसाधन के URL के साथ जिसे आप प्राप्त करना चाहते हैं।
उदाहरण के लिए:
कर्ल-एक्स प्राप्त करें https://example.com/todos/1
ऊपर दिए गए आदेश को चलाने से URL के लिए HTTP GET अनुरोध होता है https://example.com/todos/1. -एक्स प्राप्त करें विकल्प निर्दिष्ट करता है कि HTTP विधि GET है। जब आदेश चलता है, कर्ल URL में निर्दिष्ट सर्वर को एक GET अनुरोध भेजता है और सर्वर की प्रतिक्रिया की प्रतीक्षा करता है।
यदि सर्वर इसके साथ प्रतिक्रिया करता है एक सफल स्थिति कोड, कर्ल टर्मिनल में प्रतिक्रिया निकाय प्रदर्शित करता है, जो इस मामले में, 1 की आईडी के साथ एक टू-डू आइटम के बारे में JSON डेटा होगा।
वैकल्पिक रूप से, आप निर्दिष्ट किए बिना एक GET अनुरोध कर सकते हैं -एक्स फ़्लैग क्योंकि, डिफ़ॉल्ट रूप से, कर्ल एक GET अनुरोध करता है जब आप अनुरोध विधि निर्दिष्ट नहीं करते हैं -एक्स झंडा।
उदाहरण के लिए:
कर्ल https://example.com/todos/1
ऊपर दिए गए आदेश को चलाने से पिछले आदेश के समान प्रतिक्रिया वापस आ जाएगी "-एक्स प्राप्त करें" झंडा।
एक HTTP पोस्ट अनुरोध बनाना
HTTP POST अनुरोध वेब सर्वर पर डेटा सहेजने की एक विधि है। GET अनुरोध के विपरीत, जो URL के भाग के रूप में डेटा भेजता है, POST अनुरोध अनुरोध के संदेश निकाय में डेटा भेजता है। यह संवेदनशील जानकारी प्रसारित करने के लिए POST अनुरोधों को अधिक सुरक्षित बनाता है।
आप नीचे दिए गए प्रारूप में कर्ल के साथ एक पोस्ट अनुरोध कर सकते हैं:
कर्ल-एक्स पोस्ट-डी
उदाहरण के लिए:
कर्ल-एक्स पोस्ट-डी 'नाम = जैक' -डी 'ईमेल = जैक @ उदाहरण.com' \
https://example.com/users
ऊपर दिया गया आदेश एक POST अनुरोध भेजता है https://example.com/users द्वारा निर्दिष्ट डेटा के साथ -डी पेलोड के रूप में फ़्लैग करें।
-डी ध्वज भेजने के लिए डेटा निर्दिष्ट करता है। इस मामले में, इसने दो डेटा पैरामीटर निर्दिष्ट किए: नाम = जैक और ईमेल = जैक@example.com।
जब आप उपयोग करते हैं -डी कमांड में एक से अधिक बार फ़्लैग करें, आप & प्रतीक का उपयोग करके फ़ील्ड्स को मर्ज कर सकते हैं।
उदाहरण के लिए:
कर्ल-डी "नाम = जैक और ईमेल = जैक @ उदाहरण। कॉम" https://example.com/api/users
कुछ डेटा जिन्हें आप POST अनुरोध में भेजने का प्रयास कर सकते हैं, आपके टर्मिनल में एक स्ट्रिंग में फिट होना मुश्किल हो सकता है। इस तरह के मामलों में, कर्ल का उपयोग करके फ़ाइल से डेटा को पढ़ना और पोस्ट करना आदर्श हो सकता है।
किसी फ़ाइल से डेटा को POST अनुरोध में कर्ल के साथ पेलोड के रूप में भेजने के लिए, उपयोग करें @ के तुरंत बाद हस्ताक्षर करें -डी फ़्लैग, उसके बाद उस फ़ाइल का फ़ाइल पथ जिसे आप चाहते हैं कि कर्ल अनुरोध में भेजा जाए।
उदाहरण के लिए:
कर्ल-एक्स पोस्ट-d @users.txt https://example.com/api/users
सामग्री-प्रकार निर्दिष्ट करना
का उपयोग -डी ध्वज सामग्री-प्रकार शीर्षलेख को स्वचालित रूप से सेट करता है एप्लिकेशन/x-www-form-urlencoded. हालांकि, आप का उपयोग करके अपने अनुरोध के लिए उपयुक्त सामग्री-प्रकार को मैन्युअल रूप से निर्दिष्ट कर सकते हैं -एच या --शीर्षक वांछित सामग्री प्रकार के बाद ध्वज।
उदाहरण के लिए:
कर्ल-एच "सामग्री-प्रकार: एप्लिकेशन/जेसन" \
-d '{"name": "जैक", "ईमेल": "[email protected]"}' \
https://example.com/api/users
ऊपर दिए गए आदेश में, -एच ध्वज सामग्री-प्रकार शीर्षलेख को निर्दिष्ट करता है सामग्री-प्रकार: एप्लिकेशन/json.
आप बदल सकते हैं एप्लिकेशन/जेसन किसी अन्य मान्य MIME प्रकार या सामग्री प्रकार के साथ जो आपके द्वारा अनुरोध निकाय में भेजे जा रहे डेटा के लिए उपयुक्त है। उदाहरण के लिए, बाइनरी डेटा, जैसे छवि या ऑडियो फ़ाइल अपलोड करते समय, आपको सामग्री-प्रकार को सेट करना चाहिए मल्टीपार्ट / फॉर्म-डेटा.
यह आपको भेजे गए डेटा के अपेक्षित प्रारूप को निर्दिष्ट करने की अनुमति देता है, जो उचित प्रसंस्करण के लिए विशिष्ट सामग्री प्रकारों की आवश्यकता वाले एपीआई या वेब सेवाओं के साथ बातचीत करते समय महत्वपूर्ण हो सकता है।
एक HTTP पुट अनुरोध बनाना
एक HTTP पुट अनुरोध एक वेब सर्वर पर मौजूदा संसाधन को अद्यतन करने या संसाधन मौजूद नहीं होने पर एक बनाने का एक तरीका है। यह विधि POST पद्धति से इस अर्थ में भिन्न है कि यह एक प्रकार का उदासीन है। इसका मतलब यह है कि PUT पद्धति को एक या कई बार क्रमिक रूप से कॉल करने से सर्वर पर समान प्रभाव पड़ता है।
आप नीचे दिए गए प्रारूप में कर्ल के साथ पुट अनुरोध कर सकते हैं:
कर्ल-एक्स पुट-एच "सामग्री-प्रकार: एप्लिकेशन/जेसन" \
-d '{"नाम": "जैक बाउर", "ईमेल": "जैकबाउर[email protected]"}' \
https://example.com/api/users/4
उपरोक्त आदेश ऊपर दिए गए यूआरएल में निर्दिष्ट वेब सर्वर पर जेएसओएन प्रारूप में एक पुट अनुरोध भेजता है और निर्दिष्ट संसाधन को अद्यतन करता है। यदि निर्दिष्ट संसाधन मौजूद नहीं है, तो यह वेब सर्वर पर संसाधन बनाएगा।
एक HTTP DELETE अनुरोध करना
HTTP DELETE अनुरोध वेब सर्वर से निर्दिष्ट संसाधन को हटाने का एक तरीका है। PUT अनुरोधों के समान, DELETE अनुरोध उदासीन होते हैं। एक ही संसाधन के लिए एक ही DELETE अनुरोध को कई बार भेजने से सर्वर पर समान परिणाम प्राप्त होंगे।
आप नीचे दिए गए आदेश को चलाकर कर्ल के साथ DELETE अनुरोध कर सकते हैं:
कर्ल-एक्स हटाएं http://example.com/api/users/3
उपरोक्त आदेश उपरोक्त URL में निर्दिष्ट वेब सर्वर को DELETE अनुरोध भेजता है और निर्दिष्ट संसाधन को हटा देता है।
अनुरोध हटाएं सर्वर से निर्दिष्ट संसाधन को स्थायी रूप से हटा दें। इस प्रकार, DELETE का समर्थन करने वाले वेब सर्वर को आमतौर पर एक फॉर्म की आवश्यकता होती है प्रमाणीकरण या प्राधिकरण इससे पहले कि आप यह अनुरोध कर सकें।
प्राधिकरण हेडर के साथ DELETE अनुरोध करने का तरीका यहां दिया गया है:
कर्ल-एक्स डिलीट-एच "प्राधिकरण: बियरर my_access_token" \
https://example.com/api/users/3
उपरोक्त आदेश बियरर प्रमाणीकरण विधि का उपयोग करके अनुरोध शीर्षलेख में प्रमाणीकरण जानकारी प्रदान करता है -एच झंडा। प्राधिकरण: वाहक my_access_token हेडर वैल्यू है। my_access_token आपके वास्तविक एक्सेस टोकन मान के लिए प्लेसहोल्डर है।
अन्य तरीके जिनसे आप HTTP अनुरोध कर सकते हैं
कर्ल के अलावा, अनुरोध के संदर्भ के आधार पर HTTP अनुरोध करने के कई तरीके हैं। सबसे आम तरीकों में क्रोम जैसे वेब ब्राउज़र, पोस्टमैन जैसे जीयूआई टूल या एपीआई क्लाइंट का उपयोग करना शामिल है।
इनमें से प्रत्येक विकल्प इसके फायदे और ट्रेडऑफ़ के साथ आता है। अंतत:, आपकी पसंद का उपकरण आपके कार्य की आवश्यकताओं पर निर्भर करेगा।