2012-09-19 16 views
14

मैं (0) टर्मिनल-प्रॉम्प्ट पर cURL का उपयोग कर वेबसर्वर को कुछ फॉर्म डेटा भेजना चाहता हूं।मैं कर्ल का उपयोग करके यूटीएफ -8 एन्कोडिंग के साथ फॉर्म डेटा कैसे पोस्ट करूं?

यह मैं अब तक क्या मिला है:

curl --data-ascii "content=derinhält&date=asdf" http://myserverurl.com/api/v1/somemethod 

समस्या यह है कि umlaute ("aou") द्वारा प्रतिस्थापित कर रहे हैं "?" जब मुझे सर्वर पर पोस्ट अनुरोध प्राप्त होता है।

मुझे लगता है कि मुझे POST अनुरोध के लिए एक यूटीएफ -8 एन्कोडिंग का उपयोग करने की आवश्यकता है।

क्या कोई जानता है कि मैं इसे कैसे प्राप्त कर सकता हूं?

+0

संभव dup की: http://stackoverflow.com/questions/10172327/linux-curl-save-as-utf-8 – alfasin

+0

मैं डॉन ' ऐसा मत सोचो। आपकी टिप्पणी GET अनुरोध और यूटीएफ -8 डिकोडिंग के बारे में है। मेरा सवाल POST अनुरोध और यूटीएफ -8 एन्कोडिंग के बारे में है। – ashiaka

+0

हमें सर्वर पर जो प्राप्त हो रहा है उसका 'bin2hex ($ सामग्री)' मान दिखाएं। – deceze

उत्तर

21

आप POST अनुरोध में यूटीएफ -8 का उपयोग कर सकते हैं, आपको बस अपने अनुरोध में वर्णमाला निर्दिष्ट करना होगा।

तो मुझे लगता है कि आप इस अनुरोध का उपयोग करना चाहिए:

curl -X POST -H "Content-Type: text/html; charset=UTF-8" --data-ascii "content=derinhält&date=asdf" http://myserverurl.com/api/v1/somemethod 
+5

उपर्युक्त उत्तर में दिया गया सामग्री प्रकार है बस गलत सही एक '-H "सामग्री-प्रकार है: एप्लिकेशन/एक्स-www-form-urlencoded; charset = utf-8" '। –

+0

@ कोनराडविंड्सज़स *** सही उत्तर *** के लिए धन्यवाद! – candlejack

+0

पूरी तरह से मुझे बचाया! – Dmitri

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