IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> postman使用post方法向华为云obs桶上传文件和图片 -> 正文阅读

[开发测试]postman使用post方法向华为云obs桶上传文件和图片

原贴地址:https://bbs.huaweicloud.com/blogs/298183

【摘要】 postman使用post方法向华为云obs桶上传文件和图片。记录下过程。

故小北 公众号logo.gif

postman使用post方法向华为云obs桶上传文件和图片

一句话总结:postman使用post方法向华为云obs桶上传文件和图片。记录下过程。

如果想了解put方法,请参考下文:

postman使用put方法向华为云obs桶上传文件和图片

https://bbs.huaweicloud.com/blogs/298147

1、?使用步骤

创建华为云OBS桶

4、?什么是华为云OBS?

对象存储服务(Object Storage Service)是一款稳定、安全、高效、易用的华为云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据。

2、进入华为云的OBS服务,进入“管理控制台”。点击“创建桶”。

3、取个桶名字bucket-guxiaobei。

4、OBS桶创建成功。

5、点击桶名,可以查看OBS基本信息。可以看到我的OBS桶访问域名bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com

获取AK和SK

4、?华为云OBS支持通过AK/SK认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。

支持2种使用AK/SK的鉴权方法:

(1)支持使用永久AK/SK鉴权。

(2)支持通过临时AK/SK和securitytoken进行认证鉴权。

2、本文使用永久AK/SK。点击华为云用户名下的“我的凭证”。

(2)新增访问秘钥。

(3)创建成功后,点立即下载。

(4)打开excel文件,即可看到用户名下对应的AK/SK。

put与post区别

(1)PUT上传中参数通过请求头域传递;POST上传则作为消息体中的表单域传递。

(2)PUT上传需在URL中指定对象名;POST上传提交的URL为桶域名,无需指定对象名。

两者的请求行分别为:

PUT /ObjectName HTTP/1.1

POST / HTTP/1.1

上传txt文档

1、准备一个a.txt文档。内容随意。

2、OBS服务支持基于浏览器的POST上传对象请求,此类请求的签名信息通过表单的方式上传。

请参考网址?https://support.huaweicloud.com/api-obs/obs_04_0012.html

POST上传对象:首先,创建一个安全策略,指定请求中需要满足的条件,比如:桶名、对象名前缀;然后,创建一个基于此策略的签名,需要签名的请求表单中必须包含有效的signature和policy;最后,创建一个表单将对象上传到桶中。

签名的计算过程如下:

(1)对policy内容进行UTF-8编码。

(2)对第一步的结果进行Base64编码。

(3)使用SK对第二步的结果进行HMAC-SHA1签名计算。

(4)对第三步的结果进行Base64编码,得到签名。

StringToSign = Base64( UTF-8-Encoding-Of( policy ) )

Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )

3、复制下面python代码

import base64
import hashlib
import hmac
import urllib.parse

def sign_in_post(sk, policy):
string_to_sign = base64.b64encode(policy.encode('UTF-8'))
print('string_to_sign:\n', string_to_sign)

hashed = hmac.new(sk.encode('UTF-8'), string_to_sign, hashlib.sha1)
sign = base64.b64encode(hashed.digest()).decode('UTF-8')
print('sign:\n', sign)

return sign

sk = '此处省略sk实际内容'
policy = '''{"expiration": "2021-09-02T12:00:00.000Z",
"conditions":[
{"bucket":"bucket-guxiaobei"},
{"key":"a.txt"}
]
}'''

sign_in_post(sk,policy)

4、在pycharm里运行,可以得到policy和signature。

(1)sk为你实际Secret Access Key内容。

(2)expiration为过期时间。

(3)bucket为你的桶名。

(4)key为期望上传对象的名字。

5、打开postman软件,选择POST方法。

(1)地址栏填入http://?访问域名?/?。我写的是http://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com/

(2)其他Headers参考下图。

注意:postman有一些自动生成的头信息auto-generated headers,并不都是必须项。

6、点击“Body”。类型选form-data。Select File,选择前面准备好的a.txt

(1)key为期望上传对象的名字。

(2)AccessKeyId是我的Access Key Id值。

(3)signature是刚计算出来的签名。

(4)policy是刚计算出来的策略。

(5)file是实际上传的文件。约束条件:此参数必须为最后一个参数,否则此参数之后的参数会被丢弃;一个请求中只能含有一个file参数。

7、点击send,返回状态Status 204 No Content。

8、返回华为云OBS控制台。可以看到a.txt已经上传。点击下载。

8、完成txt上传。

注意:OBS并不强制本地文件名和OBS桶的期待文件名,保持一致。你可以本地a.txt,上传为b.txt。

上传jpg图片

1、准备一个b.jpg图片。内容随意。

2、OBS服务支持基于浏览器的POST上传对象请求,此类请求的签名信息通过表单的方式上传。

请参考网址?https://support.huaweicloud.com/api-obs/obs_04_0012.html

POST上传对象:首先,创建一个安全策略,指定请求中需要满足的条件,比如:桶名、对象名前缀;然后,创建一个基于此策略的签名,需要签名的请求表单中必须包含有效的signature和policy;最后,创建一个表单将对象上传到桶中。

签名的计算过程如下:

(1)对policy内容进行UTF-8编码。

(2)对第一步的结果进行Base64编码。

(3)使用SK对第二步的结果进行HMAC-SHA1签名计算。

(4)对第三步的结果进行Base64编码,得到签名。

StringToSign = Base64( UTF-8-Encoding-Of( policy ) )

Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )

3、复制下面python代码

import?base64
import?hashlib
import?hmac
import?urllib.parse

def?sign_in_post(sk,?policy):
string_to_sign = base64.b64encode(policy.encode('UTF-8'))
print('string_to_sign:\n',?string_to_sign)

hashed = hmac.new(sk.encode('UTF-8'),?string_to_sign,?hashlib.sha1)
sign = base64.b64encode(hashed.digest()).decode('UTF-8')
print('sign:\n',?sign)

return?sign

sk =?'此处省略sk实际内容'
policy =?'''{"expiration": "2021-09-02T12:00:00.000Z",
"conditions":[
{"bucket":"bucket-guxiaobei"},
{"key":"b.jpg"}
]
}'''

sign_in_post(sk,policy)

4、在pycharm里运行,可以得到policy和signature。

(1)sk为你实际Secret Access Key内容。

(2)expiration为过期时间。

(3)bucket为你的桶名。

(4)key为期望上传对象的名字。

5、打开postman软件,选择POST方法。

(1)地址栏填入http://?访问域名?/?。我写的是http://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com/

(2)其他Headers参考下图。

注意:postman有一些自动生成的头信息auto-generated headers,并不都是必须项。

6、点击“Body”。类型选form-data。Select File,选择前面准备好的b.jpg

(1)key为期望上传对象的名字。

(2)AccessKeyId是我的Access Key Id值。

(3)signature是刚计算出来的签名。

(4)policy是刚计算出来的策略。

(5)file是实际上传的文件。约束条件:此参数必须为最后一个参数,否则此参数之后的参数会被丢弃;一个请求中只能含有一个file参数。

7、点击send,返回状态Status 204 No Content。

8、返回华为云OBS控制台。可以看到b.jpg已经上传。点击下载。

8、完成jpg上传。

注意:OBS并不强制本地文件名和OBS桶的期待文件名,保持一致。你可以本地a.jpg,上传为b.jpg。

完成

ok。

关注

weixin关注公众号beigugong,或者扫描下方二维码。

相关

【上电即上华为云】故小北文章阶段汇总

https://bbs.huaweicloud.com/blogs/263697

【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN(面向上华为云)

https://bbs.huaweicloud.com/blogs/267413

【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN_L610-CN_OTA升级(面向OTA在线升级)

https://bbs.huaweicloud.com/blogs/293310

【上电即上华为云】华为云smart智联Cat.1+PLC无线网关_3121N-IED_MC615-CN-L610-CN(面向Cat.1+PLC无线网关)

https://bbs.huaweicloud.com/blogs/296169

【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN_云喇叭TTS语音

https://bbs.huaweicloud.com/blogs/296429

【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN_GPS定位器

https://bbs.huaweicloud.com/blogs/297178

postman使用put方法向华为云obs桶上传文件和图片

https://bbs.huaweicloud.com/blogs/298147

postman使用post方法向华为云obs桶上传文件和图片

本帖地址

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:13:08  更:2021-09-03 12:14:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:45:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码