Notre application a besoin de télécharger le blob avec la taille 0. Nous utilisons cURL pour appeler l'API REST Azure storage. Bien que le téléchargement de la taille, il échoue avec HTTP code d'erreur [400]Azure blob storage: Impossible de télécharger le blob avec la taille 0
message d'erreur suivant son retour
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers
is not in the correct format.
RequestId:2b1ec18b-0001-007d-7811-e40725000000
Time:2016-07-22T12:07:28.5435467Z
</Message>
<HeaderName>Content-Length</HeaderName>
<HeaderValue>-1</HeaderValue>
</Error>
Grâce Wireshark, nous nous sommes assurés que la valeur de la longueur du contenu l'en-tête est envoyé correctement.
Voici les en-têtes capturés de Wireshark
PUT /test/DC70439C-5004-11E6-B4B2-91D87435845D HTTP/1.1
Host: mytest.blob.core.windows.net
Accept: */*
Transfer-Encoding: chunked
x-ms-blob-type:BlockBlob
x-ms-version:2015-02-21
Content-Length:0
x-ms-date:Fri, 22 Jul 2016 12:07:28 GMT
Authorization:SharedKey kanchan:HQQ7a47TPQtEhL0ek6rim64ZKC8NRubgKuq+4Os+Aoo=
Expect: 100-continue
Pouvez-vous aider plese à comprendre pourquoi la valeur d'en-tête de longueur du contenu a été défini comme -1?
Merci et salutations, Rahul Naik
Suite est la chaîne à signe utilisé pour générer en-tête d'autorisation PUT x-ms-blob type: BlockBlob x-ms-jour: Ven, 22 Juil 2016 12:07:28 GMT Version x-ms: 2015-02-21 /test/test/DC70439C-5004-11E Comme nous utilisons la version 2015-02-21, nous nous sommes assurés qu'il n'y a pas d'en-tête de contenu ajouté dans stringToSign, si sa longueur est 0. –