文档章节

bash实现S3文件上传

秦牧羊
 秦牧羊
发布于 2016/11/10 16:21
字数 144
阅读 204
收藏 4
#!/bin/bash
ACCESS_KEY=""
SECRET_KEY=""
HOST="s3.demo.com"
BUCKET="demo"
CONTENT_TYPE="application/octet-stream"
FILENAME=/tmp/demo
ACL="x-amz-acl:public-read"
META_DATA="x-amz-meta-ukey:value"
FILESIZE=$(stat -c%s "$FILENAME")
FILEMD5=`cat ${FILENAME}| openssl dgst -md5 -binary | openssl enc -base64`
AUTH_PATH="/${BUCKET}${FILENAME}"
CURRENT_TIME=`TZ=GMT LANG=en_US date "+%a, %d %b %Y %H:%M:%S GMT"`
stringToSign="PUT\n${FILEMD5}\n${CONTENT_TYPE}\n${CURRENT_TIME}\n${ACL}\n${META_DATA}\n${AUTH_PATH}"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${SECRET_KEY} -binary | base64`

curl -s -v -X PUT "http://${HOST}${AUTH_PATH}" \
-H "Authorization: AWS ${ACCESS_KEY}:${signature}" \
-H "Date: ${CURRENT_TIME}" \
-H "Host: ${HOST}" \
-H "Content-Length: ${FILESIZE}" \
-H "Content-MD5: ${FILEMD5} " \
-H "Content-Type: ${CONTENT_TYPE} " \
-H "${ACL} " \
-H "${META_DATA} " \
-T "${FILENAME}"

© 著作权归作者所有

秦牧羊
粉丝 75
博文 57
码字总数 28980
作品 0
广州
架构师
私信 提问
linux 服务器安装s3cmd

yum install python-devel python-setuptools -yeasy_install pip 报错:[root@localhost ~]# easy_install pipSearching for pipReading http://pypi.python.org/simple/pip/Couldn't find ......

wjw555
2017/12/16
0
0
干货 | 基于Go SDK操作京东云对象存储OSS的入门指南

前言 本文介绍如何使用Go语言对京东云对象存储OSS进行基本的操作,帮助客户快速通过Go SDK接入京东云对象存储,提高应用开发的效率。 在实际操作之前,我们先看一下京东云OSS的API接口支持范...

京东云技术新知
07/02
23
0
AWS高手进!跪谢大神

我们有这样一个需求: 不同的制造者可以生成报告文件上传到s3上,当不同的制造者将报告成功生成到s3后,消费者立即去把这些报告文件合并成一个报表。现在遇到的问题就是,不同的消费者产生报...

Brant_Feng
2015/11/10
109
0
挖洞经验 看我如何发现苹果公司官网Apple.com的无限制文件上传漏洞

        在前几篇文章中,我分享了亚马逊网站XSS漏洞和Bol.com的开放重定向漏洞,今天我再和大家聊聊不安全的服务器配置问题,很多时候,服务器的错误配置将会导致一些列目录或无限制文...

FreeBuf
2018/07/11
0
0
Linux服务器通过aws命令行上传文件至S3

目的 Linux服务器通过AWS命令行上传文件至S3 配置 打开你的AWS控制台; 连接你的Linux服务器,按照以下步骤操作; # 安装pip yum -y install python-pip # 安装awscli pip install awscli #...

M玺
2017/05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
3
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
12
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
13
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0
Django的ChoiceField和MultipleChoiceField错误提示,选择一个有效的选项

在表单验证时提示错误:选择一个有效的选项 例如有这样一个表单: class ProductForm(Form): category = fields.MultipleChoiceField( widget=widgets.SelectMultiple(), ...

编程老陆
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部