2011-02-28 15 views
42

का उपयोग कर परीक्षण फ़ाइल अपलोड करें मैंने फ़ाइल अपलोड करने के लिए HTTP PUT विधि का उपयोग करके एक सेवा लिखी है।HTTP PUT विधि

वेब ब्राउज़र PUT का समर्थन नहीं करते हैं इसलिए मुझे परीक्षण के लिए एक विधि की आवश्यकता है। यह ब्राउज़र से मारने वाले पोस्ट के रूप में बहुत अच्छा काम करता है।

अद्यतन: यह वही काम करता है। मैंने पोस्टर की कोशिश की लेकिन यह फिडलर का उपयोग करने के समान ही है। आपको यह जानना होगा कि अनुरोध कैसे बनाया जाए। कर्ल समस्या का ख्याल रखता है।

कर्ल -X डाल "स्थानीय होस्ट: 8080/urlstuffhere" -f "फ़ाइल = @ फ़ाइल नाम" बी "jsessionid = cookievalue"

उत्तर

83

मेरी राय में इस तरह के परीक्षण के लिए सबसे अच्छा उपकरण curl है। इसके --upload-file विक्रय विकल्प के द्वारा एक फ़ाइल अपलोड करता है, जो कि आप क्या चाहते हैं (और यह HTTP हेडर को संशोधित करने, मामले में की तरह आपको इसकी आवश्यकता बहुत कुछ कर सकते हैं,): कैसे -d उपयोग के बारे में

curl http://myservice --upload-file file.txt 
+0

धन्यवाद। क्या कर्ल का एक डाउनलोड है जो पहले से ही बनाया गया है? – Speck

+1

@ user381091 आपके प्लेटफ़ॉर्म पर निर्भर करता है, लेकिन ऐसा लगता है कि कई समर्थित हैं। आधिकारिक कर्ल वेबसाइट पर डाउनलोड विज़ार्ड का एक लिंक यहां दिया गया है: http://curl.haxx.se/dlwiz/?type=bin – alienhard

+3

ध्यान दें कि कर्ल का ['--डेटा'] (http: //curl.haxx। se/docs/manpage.html) विकल्प, मूल रूप से इस उत्तर द्वारा उपयोग किया जाता है, फ़ाइल अपलोड के लिए अनुचित है क्योंकि यह न्यूलाइन वर्णों को स्ट्रिप करता है और इस प्रकार फ़ाइल को संशोधित कर सकता है। मैंने इसे ['--upload-file'] (http://curl.haxx.se/docs/manpage.html#-T) के साथ बदल दिया है। –

-1

curl के लिए, स्विच? पसंद: curl -X PUT "localhost:8080/urlstuffhere" -d "@filename"?

+1

-d (या --डेटा) जेनेरिक डेटा अपलोड के लिए अनुचित है। दस्तावेज देखें। – Enzo

+0

मैं देखता हूं, धन्यवाद। @Enzo – ibic

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