किसी फ़ाइल से JSON डेटा भेजकर अपने API का परीक्षण करने की आवश्यकता है? यहां कर्ल कमांड हैं।
JSON फ़ाइल को लोकलहोस्ट पर पोस्ट करें
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
बदलें:
8080आपके पोर्ट के साथ/api/endpointआपके एपीआई पथ के साथdata.jsonआपके JSON फ़ाइल पथ के साथ
द @ प्रतीक कर्ल को फ़ाइल से पढ़ने के लिए कहता है।
JSON फ़ाइल डालें
curl -X PUT http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
POST के समान, केवल PUT विधि का उपयोग करके।
वन-लाइनर संस्करण
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
सब कुछ एक लाइन पर।
रिस्पांस हेडर दिखाएं
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-i
-i आउटपुट में प्रतिक्रिया हेडर शामिल हैं।
वर्बोज़ आउटपुट (डीबग)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-v
-v पूर्ण अनुरोध और प्रतिक्रिया विवरण दिखाता है।
प्रमाणीकरण के साथ
मूल प्रमाणीकरण:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-u username:password \
-d @data.json
वाहक टोकन:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-token-here" \
-d @data.json
एपीआई कुंजी:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d @data.json
इनलाइन JSON भेजें (कोई फ़ाइल नहीं)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d '{"key":"value","number":123}'
एकल उद्धरण शैल व्याख्या को रोकते हैं।
विभिन्न निर्देशिका में फ़ाइल
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @/path/to/data.json
निरपेक्ष या सापेक्ष पथ का उपयोग करें।
फ़ाइल में प्रतिक्रिया सहेजें
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-o response.json
प्रतिक्रिया सहेजी गई response.json.
सामान्य लोकलहोस्ट पोर्ट
- 3000: Node.js, रिएक्ट देव सर्वर
- 8000: पायथन HTTP सर्वर, Django
- 8080: सामान्य जावा, सामान्य विकास
- 5000: फ्लास्क डिफ़ॉल्ट
- 4200: कोणीय देव सर्वर
- 3001: वैकल्पिक Node.js
समस्या निवारण
"कनेक्ट करने में विफल" त्रुटि:
- एपीआई नहीं चल रहा है
- गलत पोर्ट नंबर
- चेक करें
http://बनामhttps://
"कर्ल: ऐसी कोई फ़ाइल नहीं" त्रुटि:
- JSON फ़ाइल मौजूद नहीं है
- गलत फ़ाइल पथ
- वर्तमान निर्देशिका की जाँच करें
pwd
अप्रत्याशित प्रतिक्रिया:
- JSON सिंटैक्स की जाँच करें
cat data.json - jsonlint.com पर JSON मान्य करें
- उपयोग करें
-vपूरा अनुरोध देखने के लिए ध्वजांकित करें
उदाहरण JSON फ़ाइल
बनाएं data.json:
{
"name": "Test User",
"email": "test@example.com",
"active": true,
"roles": ["admin", "user"]
}
फिर चलाएँ:
curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d @data.json
निचली पंक्ति
बेसिक पोस्ट कमांड:
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
द @ प्रतीक फ़ाइल से पढ़ता है। PUT अनुरोधों के लिए POST को PUT में बदलें। जोड़ें -v डिबगिंग के लिए। जोड़ें -i प्रतिक्रिया शीर्षलेखों के लिए।
विकास के दौरान किसी भी लोकलहोस्ट एपीआई के साथ काम करता है।