OSS签名Header实现Demo(Python)
概述
OSS的集成上传和下载提供了SDK可以直接使用,但实际使用中一些用户受限环境或者设备限制需要使用api方式来实现上传和下载,本文以PutObject接口为例,提供了python实现的demo。
注:建议优先使用OSS提供SDK,本文提供的只是签名实现上传demo,实际使用中需要结合业务来进行改动代码
详细信息
PutObject实现Demo(测试环境python2.7):
# -*- coding: utf-8 -*- import base64 import hmac import sha import urllib2 from datetime import datetime accesskey = '您的accesskey'; accesskeysecret = '您的AccesskeySecret' endpoint='oss-cn-hangzhou.aliyuncs.com' bucket='您的bucket名称' #您的上传文件路径 object='mytest/test.png' GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT' time = datetime.utcnow().strftime(GMT_FORMAT) print(time) signature = hmac.new(accesskeysecret, "PUT\n\nimage/png\n"+time+"\n"+"/"+bucket+"/"+object,sha) Signature = base64.b64encode(signature.digest()) print("Signature: %s" % Signature) opener = urllib2.build_opener(urllib2.HTTPHandler) with open("/Users/wanghe/Documents/20190717101549.png") as f: data=f.read() request = urllib2.Request("http://"+bucket+"."+endpoint+"/"+object, data=data) request.add_header("Authorization", "OSS "+accesskey+":"+Signature) request.add_header("Content-Type", "image/png") request.add_header("Date", time) request.get_method = lambda:"PUT" url = opener.open(request)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OSS签名Header实现Demo(Java)
概述 OSS的集成上传和下载提供了SDK可以直接使用,但实际使用中一些用户受限环境或者设备限制需要使用api方式来实现上传和下载,本文以PutObject接口为例,提供了java实现的demo。注:建议优先使用OSS提供SDK,本文提供的只是签名实现上传demo,实际使用中需要结合业务来进行改动代码 详细信息 PutObject实现demo(测试环境JDK1.8): import org.apache.commons.codec.binary.Base64; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.text.SimpleDateFormat; import java.util.*; public class OssSignHeader { private static final String HMAC_SHA1_ALGORIT...
- 下一篇
OSS签名Header实现Demo(C#)
概述 OSS的集成上传和下载提供了SDK可以直接使用,但实际使用中一些用户受限环境或者设备限制需要使用api方式来实现上传和下载,本文以PutObject接口为例,提供了C#实现的demo。注:建议优先使用OSS提供SDK,本文提供的只是签名实现上传demo,实际使用中需要结合业务来进行改动代码详细信息PutObject实现demo(visual studio 2017,NET Framework4.0) using System; using System.Security.Cryptography; using System.Text; using System.Net; using System.IO; using System.Reflection; namespace Aliyun.OSS.Samples { class Program { //您的AccessKey public static string AccessKey = "xx"; //您的 AccessKeySecret public static string AccessKeySecret = "xx"; ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装