Linux 命令行 curl 用POST方法 调用图床系统 API 添加二进制文件

之前, 我们利用pastebin系统实现了用API添加文本文件.

如果我们想保存二进制文件, 要怎么办呢?

这里, 我们利用图床系统imghost.

实践

假设, 

你要上传的文件名 abc.zip

你的短链系统 URL https://imghost.crazypeace.workers.dev/

你的短链系统的密码 imghostimghost


那么, 

filename="abc.zip"
base64_encoded=$(base64 "$filename")
base64_encoded="data:$(file -i "$filename" | cut -d' ' -f2);base64,$base64_encoded"

file_content_escaped=$(echo $base64_encoded | jq -s -R)
cat <<EOF >json_data
{
  "cmd": "add",
  "key": "$filename",
  "password": "imghostimghost",
  "url": $file_content_escaped
}
EOF

curl -H "Content-Type: application/json" -X POST -d @json_data https://imghost.crazypeace.workers.dev/

上传以后, 你可以访问 https://imghost.crazypeace.workers.dev/abc.zip 


========

思路

基材是上次的代码.

我们加入base64转换, 文件类型等代码.

主要的学习路径也是去问GPT.

拿我们已经实现的JS的代码问GPT怎么转换为shell脚本.


========

后记

你可以自己试下 file -i 是什么效果, cut -d' ' -f2 是什么效果.

评论

The Hot3 in Last 30 Days

RackNerd VPS搭Hysteria2 HY2梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

强行重装 233boy的sing-box脚本 取消脚本报错退出的逻辑

KV-woker 纯练手项目 保护 _ 开头的 Key VS code 重构 JS 代码 提取代码为函数