视觉智能平台相关url 里面的Expirs后面的数字是不是时间戳?直接转时间都是今年的三月三日感觉没法直接用
比如这个 http://
outin-9f72b2dbff8511ec945000163e1a3b4a.oss-cn-shanghai.aliyuncs.com/22bea6905c4671ee803b0764a0fd0102/snapshots/b4b0f9d4a69746ed96af1d3fbca1c78d-00001.jpg?Expires=1699010602&OSSAccessKeyId=LTAIrkwb21KyGjJl&Signature=HVnPRW2fOMWISHCCOYS4lyGO9OY%3D url有效 但里面的expires转化成时间是一个已经过期的过去的时间
但这个其实是刚生成的
是的,视觉智能开放平台接口输出的url是有时效的,所以URL中会有时间戳,时间戳就是Expires后的数字,可以用时间戳转换工具转换下。
阿里云视觉智能平台的URL中的Expires参数表示的是图片的过期时间,它是一个Unix时间戳(以秒为单位),表示从1970年1月1日0点开始计算的时间。
对于您提到的第一个URL,Expires参数的值是1699010602,这个时间距离现在已经超过一年了,所以它已经是一个过期的时间。
对于第二个URL,Expires参数的值是当前时间的Unix时间戳,所以它表示的是图片生成后的时间。
如果您需要将Unix时间戳转换为具体的日期和时间,可以使用Python的datetime模块进行转换。以下是一个示例代码:
import datetime
timestamp = 1699010602
dt_object = datetime.datetime.fromtimestamp(timestamp)
print(dt_object)
这段代码会将Unix时间戳转换为具体的日期和时间,并打印出来。
在URL参数中,Expirs代表的是有效期,它不是一个时间戳,而是指定了该URL的有效时间长度。
通常情况下,视觉智能平台会生成一个包含Expirs参数的签名URL,以便于客户端可以通过该URL进行安全地调用API。当请求通过此URL发送到服务器时,服务器会对Expirs参数进行校验,如果超出了设定的有效期范围,则服务器将会拒绝处理请求。
至于时间戳,它是用来记录某一事件发生的时间的唯一数值,通常由计算机系统根据当前时间生成并存储,可以用于记录或验证数据的创建时间或修改时间。时间戳不同于有效期,它们表示不同的含义,在实际应用中也扮演着不同的角色。
这个没问题,你网上找个时间戳转化工具,转化下,我转化后的时间是:2023-11-3 19:23:22
此回答整理自钉群“阿里云视觉智能开放平台咨询1群”
根据阿里云官方文档,“Expires”的值表示该URL的有效期,单位为秒。所以它应该是一个Unix时间戳,表示距1970年1月1日午夜(UTC/GMT)以来经过了多少秒。为了正确解析时间戳,请使用相应语言的函数进行处理,如JavaScript的Date.now()
函数或Python的datetime.datetime.now().timestamp()
函数等。
您所描述的问题表明该URL的有效期计算可能存在错误,这可能是由于服务器时区与本地时区之间存在差异造成的。建议您咨询阿里云技术支持,以确定正确的有效期计算方式。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。