API REST службы BLOB-объектов Azure возвращает ошибку 403: «заголовок даты запроса не указан» - PullRequest
2 голосов
/ 29 февраля 2012

Я пытаюсь использовать REST API Blob Service, список контейнеров (REST API): http://msdn.microsoft.com/en-us/library/windowsazure/dd179352.aspx

Таким образом, я получаю ключи доступа из портала управления -> Службы хостинга, Учетные записи хранения и CDN -> Учетные записи хранения, где я выбрал свое хранилище (aziztest) и получаю ключи из View Access Keys: Есть 2 ключа первичного и вторичного.

Затем я создал строку для подписи: GET \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nx-ms-date: ср, 29 фев 2012 06:05:13 GMT \ nx-ms-version: 2009- 09-19 \ п / aziztest \ ncomp: список

и создайте заголовок авторизации, используя первичный ключ доступа моего хранилища: Авторизация: SharedKey aziztest: OjfrOTuO4zy1oUWGHkw8uj3% 2BgAZq33GWe15gPT / PK% 2Bk% 3D

А затем сделайте GET запрос: http://aziztest.blob.core.windows.net/?comp=list

Но я получаю ошибку: AuthenticationFailed Серверу не удалось аутентифицировать запрос. Убедитесь, что значение заголовка авторизации сформировано правильно, включая подпись. \ NRequestId: 892d1f31-a20d-45a5-b16a-2f7c07519863 \ nВремя: 2012-02-29T00: 02: 44.2841133ZЗапрос заголовка даты запроса не указан

Что не так в моей процедуре?

Ответы [ 5 ]

1 голос
/ 29 февраля 2012

То, что вы сделали, кажется довольно хорошим, я предполагаю, что вы следуете инструкциям на MSDN, как создать заголовок аутентификации ?Я вижу, что вы использовали их в строке, которую подписываете, но включили ли вы x-ms-date и x-ms-version в заголовок вашего запроса?Сообщение об ошибке будет означать, что вы этого не сделали.

0 голосов
/ 09 мая 2018

Я потерял один день, расследуя ошибку «Неверный заголовок даты в запросе», и проблема заключалась в создании даты через PHP.Правильный формат даты: date("D, d M Y H:i:s T");

Я использовал «j» для дня, но, например, ср. 9 мая 2018 г. 10:20:30 по Гринвичу неверно, должно быть ср., 09 мая 2018 г. 10:20:30 по Гринвичу.

0 голосов
/ 18 января 2016

У меня та же проблема в приложении php, и проблема заключалась в акцентировании кодировки имени файла, поэтому я в итоге преобразовал имя файла в base64, как это:

 $ext=explode(".",$_FILES["file"]["name"]);
  $_FILES["file"]["name"]=str_replace("=","",base64_encode($_FILES["file"]["name"])).".".$ext[count($ext)-1];
0 голосов
/ 21 марта 2013

Я сталкиваюсь с подобными ошибками при загрузке большого двоичного объекта в контейнер хранения Azure, но при кодировании в JavaScript. Размещение ссылки в списке кодов здесь. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 29 февраля 2012

Подробную информацию о процедурах аутентификации можно найти здесь http://msdn.microsoft.com/en-us/library/dd179428.aspx

Я предполагаю, что x-ms-date больше 15 минут с момента получения запроса сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...