का उपयोग कर अमेज़ॅन एस 3 पर अपलोड करना मैं वर्तमान में कर्ल और सी ++ का उपयोग कर अमेज़ॅन एस 3 बाल्टी में फ़ाइलों को अपलोड करने के लिए एक एप्लिकेशन विकसित करने की कोशिश कर रहा हूं। एस 3 डेवलपर्स गाइड को सावधानीपूर्वक पढ़ने के बाद मैंने कर्ल का उपयोग करके अपने एप्लिकेशन को कार्यान्वित करना शुरू कर दिया है और डेवलपर गाइड द्वारा वर्णित हैडर बनाने और एस 3 हस्ताक्षर बनाने का सबसे अच्छा तरीका निर्धारित करने के लिए कई परीक्षणों और त्रुटियों के बाद, अब मुझे 501 त्रुटि का सामना करना पड़ रहा है । प्राप्त हेडर सुझाव देता है कि जिस विधि का मैं उपयोग कर रहा हूं वह लागू नहीं किया गया है।कर्ल/libcurl
PUT /test1.txt HTTP/1.1
Accept: */*
Transfer-Encoding: chunked
Content-Type: text/plain
Content-Length: 29
Host: [BucketName].s3.amazonaws.com
Date: [Date]
Authorization: AWS [Access Key ID]:[Signature]
Expect: 100-continue
मैं सुरक्षा कारणों के लिए बाल्टी नाम, एक्सेस कुंजी आईडी और हस्ताक्षर छोटा कर दिया गया है: मुझे यकीन है कि जहां मैं गलत हूँ लेकिन यहाँ HTTP शीर्ष लेख है कि मैं अमेज़न करने के लिए भेज रहा है नहीं कर रहा हूँ।
मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं लेकिन मुझे लगता है कि त्रुटि स्वीकृति और स्थानांतरण-एन्कोडिंग फ़ील्ड (वास्तव में निश्चित नहीं) के कारण उत्पन्न हो रही है। तो किसी को भी मुझे बता सकते हैं मैं गलत क्या कर रही हूं या मैं क्यों हो रही है एक 501.
हल: यहाँ एक उदाहरण
upload.sh
स्क्रिप्ट जो आप बस के रूप में चला सकते है मेरी कोड में फ़ाइल आकार के लिए एक CURLOPT याद आ रही थी और अब सब कुछ है पूरी तरह से काम कर रहे हैं –