2010-12-22 8 views
22

-d paramter में curl.exe का उपयोग करके मैं डबल कोट चार्ट कैसे भेज सकता हूं। मैं यूआरएल डबल कोट को एन्कोड नहीं करना चाहता हूं। चूंकि-डी डेटा को दोहरे उद्धरणों से घिरा होना चाहिए, इसलिए मुझे इसे काम करने के लिए प्रतीत नहीं होता है।curl.exe के लिए -d पैरामीटर में डबल कोट कैसे भेजें?

या curl.exe के लिए कोई और ध्वज है जो इसे पूरे फॉर्म पोस्ट डेटा के लिए फ़ाइलों की सामग्री का उपयोग करने के लिए कहता है?

उत्तर

11

आप निश्चित रूप से डबल कोट्स से बच सकते हैं। आप यह कैसे करते हैं जो आपके ऑपरेटिंग सिस्टम और शैल पर निर्भर करता है, जिसे आप निर्दिष्ट करने में विफल रहते हैं। विंडोज़ पर, आप^को बचने वाले चरित्र के रूप में उपयोग करेंगे। जिसके कारण फ़ाइल कहा जाता है फ़ाइल नाम से पोस्ट डेटा पढ़ता है

curl [...] -d @filename 

...:

तुम भी ऐसा कर सकते हैं।

Google और/या आदमी आपका मित्र है। इस फार्म के साथ

http://curl.haxx.se/docs/manpage.html

+0

-d @filename जो मैं ढूंढ रहा था वह था। मैनपेज पढ़ने पर, मैंने सोचा कि @filename केवल -F तर्क के लिए काम करता है। मुझे एहसास नहीं हुआ कि यह भी-साथ काम करता है। – slolife

5

आप एकल उद्धरण के साथ डेटा को घेर सकते हैं और अंदर डबल कोट्स का उपयोग कर सकते हैं।

+4

और फिर वह बेहतर प्रार्थना करेगा कि पोस्ट किए जाने वाले डेटा में कोई भी उद्धरण नहीं है? – martona

+1

@ मार्टोना सवाल डबल कोट्स के बारे में बहुत विशिष्ट है। – Isac

+0

हां, मेरी समस्या डबल कोट्स के साथ थी, लेकिन अब मुझे पता है कि -d @filename काम करता है, मुझे किसी भी उद्धरण के बारे में चिंता करने की ज़रूरत नहीं है। – slolife

22

मेरे curl.exe काम करता है:

-d "{\"param\":\"value\"}" 

यानी doublequotes डेटा के आसपास है, और अंदर

+0

विंडोज़ पर नहीं, अन्य शैल में हाँ। – Nicholi

+6

मैंने विंडोज 8.1 कमांड प्रॉम्प्ट में कोशिश की और बैकस्लैश के साथ भागने से ठीक काम करता है! – user3523091

+0

यह विंडोज 10 डॉस कमांड शैल में मेरे लिए ठीक काम करता है। हालांकि, मुझे सभी एकल उद्धरणों को भी हटाना पड़ा और डबल कोट्स के साथ प्रतिस्थापित करना पड़ा। उदाहरण के लिए हैलो वर्ल्ड सेंडग्रिड v3 एपीआई कॉल है: curl --request POST - url https://api.sendgrid.com/v3/mail/send --header "प्रमाणीकरण: Bearer YOUR_API_KEY" --header "सामग्री- टाइप करें: एप्लिकेशन/जेसन "--डेटा" {\ "वैयक्तिकरण \": [{\ "to \": [{\ "ईमेल \": \ "[email protected] \"}]}], \ "से \ ": {\" ईमेल \ ": \" [email protected] \ "}, \" विषय \ ": \" हैलो, वर्ल्ड! \ ", \" सामग्री \ ": [{\" टाइप \ ": \ "टेक्स्ट/सादा \", \ "मान \": \ "हेया! \"}]} " –

5

दोहरे उद्धरण प्रश्न के एस्केपिंग लिए बैकस्लैश के साथ नकाबपोश doublequotes, मैं कर रहा हूँ खोजने जो डबलक्वाट्स को तीन गुना से खोलता है:

curl -d {"""foo""":"""bar"""} 

जबकि doublequotes दोहरीकरण एक बैच फ़ाइल के भीतर से काम करता है:

curl -d {""foo"":""bar""} 

कौन सा खोल पहले में परीक्षण के लिए काफी कष्टप्रद है।

संबंधित मुद्दे