cURL के साथ POST अनुरोध कैसे भेजें

cURL एक बहुमुखी कमांड-लाइन उपयोगिता है जिसे HTTP, HTTPS और FTP सहित विभिन्न नेटवर्क प्रोटोकॉल पर निर्बाध डेटा ट्रांसफ़र के लिए डिज़ाइन किया गया है। सभी प्रमुख ऑपरेटिंग सिस्टम पर उपलब्ध, cURL कमांड लाइन से HTTP अनुरोध भेजने के लिए मानक उपकरण बन गया है। इसकी क्रॉस-प्लेटफ़ॉर्म उपयोगिता HTTP, HTTPS, FTP और IMAP जैसे प्रोटोकॉल का समर्थन करती है, जिससे API को अनुरोध भेजना और वेबसाइट को स्क्रैप करना आसान हो जाता है। इसकी व्यापक उपलब्धता और प्रोटोकॉल समर्थन के कारण, cURL को आमतौर पर REST API दस्तावेज़ों में कमांड लाइन से सीधे API कॉल का परीक्षण करने के त्वरित तरीके के रूप में संदर्भित किया जाता है।
यह ट्यूटोरियल cURL का उपयोग करके POST अनुरोधों को निष्पादित करने, सरल कमांड-लाइन निर्देशों के माध्यम से सर्वरों के साथ कुशल संचार को सक्षम करने पर गहन चर्चा करता है।
POST अनुरोध क्या है?
POST अनुरोध एक HTTP विधि है जिसका उपयोग सर्वर को डेटा भेजने के लिए किया जाता है और यह सबसे आम HTTP विधियों में से एक है। GET अनुरोधों के विपरीत, जहाँ डेटा URL में शामिल होता है, POST अनुरोध अनुरोध बॉडी में डेटा संचारित करते हैं। यह विवेकपूर्ण डेटा स्थानांतरण की अनुमति देता है और GET अनुरोधों पर ब्राउज़र द्वारा लगाए गए URL लंबाई सीमाओं से बचता है।
POST अनुरोधों का उपयोग अक्सर फ़ॉर्म सबमिशन, फ़ाइल अपलोड और JSON डेटा को API पर भेजने के लिए किया जाता है। चूँकि डेटा अनुरोध बॉडी में संग्रहीत होता है, इसलिए यह ब्राउज़र इतिहास में दिखाई नहीं देता है, और GET अनुरोधों के विपरीत, POST अनुरोध आमतौर पर ब्राउज़र द्वारा कैश नहीं किए जाते हैं।
cURL POST अनुरोधों के लिए व्यावहारिक उपयोग के मामले
cURL POST अनुरोधों का उपयोग विभिन्न परिदृश्यों में व्यापक रूप से किया जाता है, जिनमें शामिल हैं:
- REST API का परीक्षण - डेवलपर्स अनुप्रयोगों में उन्हें लागू करने से पहले API एंडपॉइंट्स का त्वरित परीक्षण करने के लिए cURL का उपयोग करते हैं।
- फॉर्म सबमिशन को स्वचालित करना - cURL का उपयोग करके, आप वेब फॉर्म के साथ इंटरैक्शन को स्वचालित कर सकते हैं, बिना मैन्युअल इनपुट के डेटा सबमिट कर सकते हैं।
- फ़ाइलें अपलोड करना - कई API POST अनुरोधों का उपयोग करके फ़ाइल अपलोड करने की अनुमति देते हैं, जिससे cURL इस प्रक्रिया को स्वचालित करने के लिए एक प्रभावी उपकरण बन जाता है।
- प्रमाणीकरण प्रणालियों के साथ बातचीत करना - डेवलपर्स उपयोगकर्ताओं को प्रमाणित करने और API टोकन या क्रेडेंशियल्स के साथ संरक्षित संसाधनों तक पहुंचने के लिए cURL का उपयोग कर सकते हैं।
- डेटा स्क्रैपिंग और एकीकरण - cURL की POST अनुरोध क्षमताओं का उपयोग करके विभिन्न ऑनलाइन स्रोतों से डेटा निकालना और एकीकृत करना सरल हो जाता है।
cURL के साथ POST अनुरोध निष्पादित करना
POST अनुरोधों के लिए cURL का उपयोग शुरू करने के लिए, सुनिश्चित करें कि यह आपके सिस्टम पर इंस्टॉल है। यदि आपने इसे अभी तक इंस्टॉल नहीं किया है, तो cURL सेट अप करने के बारे में हमारी मार्गदर्शिका देखें। नीचे एक संदर्भ तालिका दी गई है जिसमें आवश्यक cURL विकल्पों का सारांश दिया गया है:
लघु ध्वज | लंबा झंडा | तर्क | विवरण |
-एक्स | --अनुरोध | (POST अनुरोधों के लिए "POST" का प्रयोग करें) | अनुरोध के लिए HTTP विधि को परिभाषित करता है |
-बी | --कुकी | अनुरोध में कुकीज़ भेजता है | |
-सी | --बिस्कुट का मर्तबान | प्राप्त कुकीज़ को एक फ़ाइल में सहेजता है | |
-डी | --डेटा | POST अनुरोध में डेटा संचारित करता है | |
-एफ | --असफल | सर्वर त्रुटियों पर मौन विफलता सुनिश्चित करता है | |
-एफ | --रूप | <नाम=सामग्री> | फ़ॉर्म डेटा सबमिट करता है (application/x-www-form-urlencoded) |
-एच | --हेडर | हेडर फाइल | कस्टम HTTP हेडर शामिल हैं |
-मैं | --शामिल करना | प्रतिक्रिया में HTTP हेडर प्रदर्शित करता है | |
-एल | --सिर | केवल शीर्षलेख पुनर्प्राप्त करता है | |
-क | --असुरक्षित | SSL सत्यापन को बायपास करता है | |
-एल | --जगह | पुनर्निर्देशन का अनुसरण करता है (3XX) | |
-ओ | --आउटपुट | आउटपुट को निर्दिष्ट फ़ाइल में सहेजता है | |
-ओ | --रिमोट-नाम | दूरस्थ फ़ाइल नाम के साथ आउटपुट सहेजता है | |
-एस | --चुपचाप | आउटपुट संदेशों को दबाता है | |
-वी | --विस्तृत | विस्तृत आउटपुट (डिबगिंग) सक्षम करता है | |
डब्ल्यू | --लिखें | आउटपुट प्रतिक्रिया विवरण |
उपलब्ध विकल्पों की पूरी सूची देखने के लिए उपयोग करें:
कर्ल--मदद
सामान्य त्रुटियाँ और उन्हें ठीक करने का तरीका
भले ही cURL शक्तिशाली है, लेकिन POST अनुरोध भेजते समय उपयोगकर्ताओं को अक्सर त्रुटियाँ आती हैं। यहाँ कुछ सामान्य समस्याएँ और समाधान दिए गए हैं:
- कर्ल: (6) होस्ट को हल नहीं किया जा सका - इसका मतलब है कि डोमेन नाम गलत है या DNS रिज़ॉल्यूशन समस्या है। URL को दोबारा जांचें।
- कर्ल: (7) होस्ट से कनेक्ट करने में विफल - यह दर्शाता है कि सर्वर पहुंच योग्य नहीं है। सुनिश्चित करें कि सर्वर ऑनलाइन है और आपके पास सक्रिय इंटरनेट कनेक्शन है।
- कर्ल: (35) एसएसएल कनेक्ट त्रुटि - यदि एसएसएल समस्याओं के कारण अनुरोध विफल हो जाता है, तो एसएसएल सत्यापन को बायपास करने के लिए -k का उपयोग करने का प्रयास करें।
- HTTP 400 खराब अनुरोध - इसका मतलब है कि सर्वर ने अनुरोध को अस्वीकार कर दिया है, अक्सर गलत डेटा प्रारूप के कारण। सामग्री-प्रकार और डेटा पेलोड की जाँच करें।
- HTTP 401 अनधिकृत - तब होता है जब प्रमाणीकरण आवश्यक होता है लेकिन वह अनुपलब्ध या गलत होता है। सुनिश्चित करें कि API कुंजियाँ या क्रेडेंशियल -u या -H "प्राधिकरण: बियरर <टोकन>" के साथ सही ढंग से पास किए गए हैं।
मूल POST अनुरोध सिंटैक्स
कर्ल -X POST -d "हैलो" https://example.com/api
इस आदेश में:
- -X POST अनुरोध प्रकार निर्दिष्ट करता है.
- -d "हैलो" भेजे जाने वाले डेटा को परिभाषित करता है।
- https://example.com/api लक्ष्य URL है.
सामग्री-प्रकार हेडर सेट करना
कर्ल -X POST -H "सामग्री-प्रकार: टेक्स्ट/प्लेन" -d "नमस्ते" https://example.com/api
-H "Content-Type: text/plain" जोड़ने से सर्वर को सूचित किया जाता है कि डेटा प्रारूप सादा पाठ है।
JSON डेटा भेजना
कर्ल -X POST -H "सामग्री-प्रकार: एप्लिकेशन/json" -d '{"key":"value"}' https://example.com/api
सामग्री प्रकार के रूप में application/json का उपयोग यह सुनिश्चित करता है कि डेटा को JSON के रूप में सही ढंग से व्याख्यायित किया गया है।
XML डेटा भेजना
कर्ल -X POST -H "सामग्री-प्रकार: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>जॉन डो</name><age>30</age></root>' https://example.com/api
POST के साथ फ़ाइलें अपलोड करना
कर्ल -X POST -F "फ़ाइल=@/path/to/img.png" https://example.com/api/upload
एकाधिक फ़ाइल अपलोड के लिए:
कर्ल -X POST -F "फ़ाइल=@/path/to/img1.png" -F "फ़ाइल=@/path/to/img2.png" https://example.com/api/upload
cURL के साथ प्रमाणीकरण
कर्ल -u उपयोगकर्ता नाम:पासवर्ड https://example.com/login
उपयोगकर्ता नाम और पासवर्ड को वास्तविक क्रेडेंशियल से बदलें।
निष्कर्ष
cURL अपने शक्तिशाली और लचीले कमांड-लाइन विकल्पों के साथ HTTP इंटरैक्शन को सरल बनाता है। POST अनुरोधों में महारत हासिल करके, डेवलपर्स API संचार, डेटा ट्रांसमिशन और फ़ाइल अपलोड को कुशलतापूर्वक प्रबंधित कर सकते हैं। चाहे आपको API एंडपॉइंट का परीक्षण करना हो, फ़ॉर्म सबमिशन को स्वचालित करना हो या वेबसाइटों से डेटा निकालना हो, cURL एक हल्का और प्रभावी समाधान प्रदान करता है। अपने वर्कफ़्लो को अनुकूलित करने के लिए cURL के साथ प्रयोग करते रहें!
कृपया ध्यान दें कि प्लिसियो भी आपको प्रदान करता है:
2 क्लिक में क्रिप्टो चालान बनाएं and क्रिप्टो दान स्वीकार करें
14 एकीकरण
- BigCommerce
- Ecwid
- Magento
- Opencart
- osCommerce
- PrestaShop
- VirtueMart
- WHMCS
- WooCommerce
- X-Cart
- Zen Cart
- Easy Digital Downloads
- ShopWare
- Botble
10 सबसे लोकप्रिय प्रोग्रामिंग भाषाओं के लिए पुस्तकालय
- PHP पुस्तकालय
- Python पुस्तकालय
- React पुस्तकालय
- Vue पुस्तकालय
- NodeJS पुस्तकालय
- Android sdk पुस्तकालय
- C#
- Ruby
- Java
- Kotlin
19 क्रिप्टोकरेंसी और 12 ब्लॉकचेन
- Bitcoin (BTC)
- Ethereum (ETH)
- Ethereum Classic (ETC)
- Tron (TRX)
- Litecoin (LTC)
- Dash (DASH)
- DogeCoin (DOGE)
- Zcash (ZEC)
- Bitcoin Cash (BCH)
- Tether (USDT) ERC20 and TRX20 and BEP-20
- Shiba INU (SHIB) ERC-20
- BitTorrent (BTT) TRC-20
- Binance Coin(BNB) BEP-20
- Binance USD (BUSD) BEP-20
- USD Coin (USDC) ERC-20
- TrueUSD (TUSD) ERC-20
- Monero (XMR)