Azure Blob GET请求授权标头“ x-ms-date”字段问题

时间:2018-12-19 16:08:05

标签: azure get postman azure-storage-blobs

我正在尝试使用邮递员获取放置在Azure blob存储中的html页面。默认的Blob存储访问权限已设为私有,因此我必须在标头部分中将“共享密钥”,“ x-ms-version”和“ x-ms-date”发送给Authorize。

这是Postman中的请求的屏幕截图。

enter image description here

当我点击发送按钮时,我收到一条错误消息,指出“请求中的日期标题不正确”。

enter image description here

有解决问题的主意吗?

更新后的日期格式

我更正了“ x-ms-date”格式,现在它抛出一个错误,指出身份验证信息的格式不正确

enter image description here

这是邮递员的授权部分

enter image description here

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

x-ms-date标头必须采用以下格式指定:格林尼治标准时间2015年6月26日星期五23:39:12。

请以这种格式再次尝试您的请求。

答案 1 :(得分:1)

请查看documentation

您需要为正确的请求指定两个标头:Authorizationx-ms-date标头。

x-ms-date标头的正确格式为Fri, 26 Jun 2015 23:39:12 GMT

您的Authorization标头似乎无效。 尝试重新生成SAS密钥,然后再次测试您的请求。

据我所知,那么您只有15分钟的请求时间。

摘自文档:

  

存储服务确保请求在到达服务之前不超过15分钟。这可以防止某些安全攻击,包括重放攻击。如果此检查失败,服务器将返回响应代码403(禁止)。

答案 2 :(得分:0)

格式为Fri, 26 Jun 2015 23:39:12 GMT。在Python中,可以通过

获得
import datetime
date = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')

假设locale.en_US