上传:
#!/usr/bin/env bash
if [ "$1" = "" ]; then
echo 'Usage: uptokn "{"Scope":"liuhanlin-work","Deadline":1434353526}" [<ak>] [<sk>]'
exit 1
fi
data="$1"
ak="dL3iWMKzQMTap8Puxi5XcUgqzuKjC"
sk="fOW181hnBdkCOdM5Tpm7anP"
if [ -n "$2" ] && [ -n "$3" ]; then
ak="$2"
sk="$3"
fi
data=$(echo -en $data | base64 | tr "+/" "-_")
auth=$(echo -en $data | openssl sha1 -hmac $sk -binary | base64 | tr "+/" "-_")
echo "$ak:$auth:$data";
注意:执行./up ‘{“Scope”:”liuhanlin-work”,”Deadline”:1434353526}’记得外层用单引号。
模拟上传代码
curl -v up.qiniu.com -F"token=dL3iWMKzQMTap8Puxi5XcUgqzuKjCukchqkXHcIR:ey2_9VoUzG99ATR1Mqjyin20a2o=:eyJTY29wZSI6ImxpdWhhbmxpbi13b3JrIiwiRGVhZGxpbmUiOjE0MzQzNTM1MjZ9" -F"file=1.txt" -x 101.71.89.200:80
注意:模拟的代理ip必须是客户提供的ping up.qiniu.com的信息。
3,私有资源下载
#!/usr/bin/env bash
if [ "$1" = "" ]; then
echo "Usage: url [<ak>] [<sk>]"
exit 1
fi
e=$(date +"%s")
e=$(($e+3600))
if [[ $1 == *'?'* ]]
then
url="$1&"e=$e
else
url="$1?"e=$e
fi
#ak="eSnBeEI"
#sk="d4eyXtO4JF_XzygOcBbk"
ak="wYTO3A9SGz4BQcJcsBwM"
sk="jepHWpoD6iJWSrFydCu"
if [ -n "$2" ] && [ -n "$3" ]; then
ak="$2"
sk="$3"
fi
auth=$(echo -en $url | openssl sha1 -hmac $sk -binary | base64 | tr "+/" "-_")
echo "$url&token=$ak:$auth";
模拟下载代码:
curl -I "http://batchcopy.qiniudn.com/123456.jpg?e=1434433258&token=dL3iWMKzQMTap8Puxi5XcUgqzuKjCukchqkXHcIR:G2cis_aMPfbSnw1PQ7Kfb1PqGIo=" -x 180.97.211.38:80
注意:代理信息需要ping 客户域名来获取cdn的代理ip。