2012-12-28 22 views
15

मेरे पास curl के उपयोग के संबंध में एक साधारण सवाल है। स्पष्ट उत्तर प्राप्त करने के लिए मेरे Google खोज या मैन पेज के दौरान बहुत कुछ नहीं मिला।कर्ल पोस्ट - डेटा-बाइनरी बनाम -

here--data बनाम --form का उपयोग फ़ाइल/अनुलग्नक भेजने पर करने के बारे में बात करता है। मुझे यह जानकर उत्सुकता है कि मुख्य अंतर क्या है और आप किस परिदृश्य के तहत --data-binary वीएस --form चुनेंगे?

पोस्ट "शरीर" या तो --data (for application/x-www-form-urlencoded) या --form (for multipart/form-data) के माध्यम से भेजा जा सकता है:

-F "foo=bar"     # 'foo' value is 'bar' 
-F "foo=<foovalue.txt"  # the specified file is sent as plain text input 
-F "[email protected]"  # the specified file is sent as an attachment 

-d "foo=bar" 
-d "foo=<foovalue.txt" 
-d "[email protected]" 
-d "@entirebody.txt"   # the specified file is used as the POST body 

--data-binary "@binarybody.jpg" 

उत्तर

6

को भेजा जा रहा है अंतर HTML 4.01 Specification section on Forms:

एप्लिकेशन/x-www-form-urlencoded डिफ़ॉल्ट सामग्री है प्रकार।

सामग्री प्रकार "एप्लिकेशन/एक्स-www-form-urlencoded" गैर-ASCII वर्ण वाली बड़ी मात्रा में बाइनरी डेटा या टेक्स्ट भेजने के लिए अक्षम है। सामग्री प्रकार "मल्टीपार्ट/फॉर्म-डेटा" का उपयोग उन फॉर्मों को सबमिट करने के लिए किया जाना चाहिए जिनमें फाइलें, गैर-ASCII डेटा और बाइनरी डेटा शामिल है।

3

यही मुख्य अंतर यह है, डेटा के प्रकार है कि सर्वर (application/x-www-form-urlencoded बनाम multipart/form-data)

+0

धन्यवाद! आप किसी भी प्रकार के डेटा का उपयोग करने वाले परिदृश्य क्या हैं? तो 'फॉर्म-urlencoded' अनुरोध में डेटा एम्बेडेड के लिए है, लेकिन multipart अलग है? – xbeta