Я пытаюсь научиться веревки Libcurl и s3, чтобы PUT (один) файл в s3 запрос Libcurl я сделать это какLibcurl URL для амазонки s3 закачивания
CURLOPT_URL:
http://my_bucket.s3.amazonaws.com/my_file.ppi
CURLOPT_HTTPHEADER(s):
PUT /my_file.ppi HTTP/1.1
Host: my_bucket.s3.amazonaws.com
Date: date
Authorization: authorization string
это прекрасно работает. Для запроса с несколькими частями запрос на загрузку init libcurl является
CURLOPT_URL:
http://my_bucket.s3.amazonaws.com/my_file.ppi?uploads
CURLOPT_HTTPHEADER(s):
POST /myfile.ppi?uploads HTTP/1.1
Host: my_bucket.s3.amazonaws.com
Date: date
Authorization: authorization string
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
Это успешное и получает идентификатор загрузки. Затем, когда вы выполняете фактическую загрузку части, независимо от того, какой заголовок url и PUT я даю s3, вы отказываетесь от ошибки, говоря, что метод не реализован.
CURLOPT_URL:
http://my_bucket.s3.amazonaws.com/my_file.ppi?uploads(??)
CURLOPT_HTTPHEADER(s):
PUT /myfile.ppi?partNumber=1&uploadId=qEBsy9IVnBf9Cp3yaQwWq18cm... HTTP/1.1
Host: my_bucket.s3.amazonaws.com
Date: date
Authorization: authorization string
x-amz-content-sha256: 2ccd1c4....
Что я здесь делаю неправильно? Я установил CURLOPT_UPLOAD на 1, есть ли какие-либо другие параметры libcurl, которые мне нужно установить? Каким должен быть заголовок url и PUT?
Заранее спасибо