Attualmente sto cercando di sviluppare un'applicazione per caricare file su un bucket Amazon S3 utilizzando cURL e C++. Dopo aver letto attentamente la guida agli sviluppatori S3, ho iniziato a implementare la mia applicazione utilizzando cURL e formando l'intestazione come descritto nella guida degli sviluppatori e dopo un sacco di prove ed errori per determinare il modo migliore per creare la firma S3, ora sto affrontando un errore 501 . L'intestazione ricevuta suggerisce che il metodo che sto usando non è implementato. Non sono sicuro dove ho sbagliato, ma qui è l'intestazione HTTP che sto inviando ad Amazon:Caricamento su Amazon S3 utilizzando cURL/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
ho troncato il nome Secchio, chiave di accesso ID e firma per motivi di sicurezza.
Non sono sicuro di ciò che sto facendo male, ma penso che l'errore stia generando i campi Accept e Transfer-Encoding (Not Really Sure). Così qualcuno può dirmi che cosa sto facendo male o perché sto ottenendo un 501.
risolto: mancava un CURLOPT per la dimensione del file nel mio codice e ora tutto è perfettamente funzionante –