Pixiv - KiraraShss
typoraossimage
556 字
3 分钟
typoraossimage
来看看 Typora 对此的要求:

我们根据这个规则可以写出以下代码:
- bash版(不推荐,Typora 可能会检测不到输出)
#!/bin/bash
# 定义图床的上传 URLUPLOAD_URL="【替换成你的端点url】"
# 定义请求头HEADERS=( "-H 'Accept: application/json, text/plain, */*'" "-H 'Accept-Language: zh-CN,zh;q=0.9'" "-H 'Cache-Control: no-cache'" "-H 'Connection: keep-alive'" "-H 'Origin: 【替换此处】'" "-H 'Pragma: no-cache'" "-H 'Referer: 【替换此处】'" "-H 'Sec-Fetch-Dest: empty'" "-H 'Sec-Fetch-Mode: cors'" "-H 'Sec-Fetch-Site: cross-site'" "-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'" "-H 'sec-ch-ua: \"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"'" "-H 'sec-ch-ua-mobile: ?0'" "-H 'sec-ch-ua-platform: \"macOS\"'")
echo "Upload Success:"
# 遍历传入的图片路径for img_path in "$@"; do # 生成文件名 filename=$(basename "$img_path")
# 计算文件的 MD5 值 md5_value=$(openssl dgst -md5 "$img_path" | awk '{print $2}')
# 生成随机边界字符串 boundary=$(openssl rand -hex 16)
# 添加 MD5 值和边界到请求头 HEADERS+=("-H 'md5-value: $md5_value'") HEADERS+=("-H 'Content-Type: multipart/form-data;'")
# 构建 curl 命令 curl_command=( "curl" "${HEADERS[@]}" "-F 'files=@$img_path;filename=$filename'" "$UPLOAD_URL" )
# 执行 curl 命令并获取响应 response=$(eval "${curl_command[@]}" 2>/dev/null)
# 使用字符串匹配提取 URL image_url=$(grep -oP '"fileId":"\K[^"]+' <<< "$response")
# 输出图片 URL echo "$image_url"
# 清除 MD5 请求头和边界,以便下一次使用 HEADERS=("${HEADERS[@]::${#HEADERS[@]}-2}")done- Python 版(推荐,但是需要安装 Python3 及相应的库)
import osimport requestsimport hashlibimport reimport sys
# 定义图床的上传 URLUPLOAD_URL = "【替换此处】"
# 定义请求头HEADERS = { 'Accept': 'application/json, text/plain, */*', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', 'Origin': '【替换此处】', 'Pragma': 'no-cache', 'Referer': '【替换此处】', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'cross-site', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"'}
print("Upload Success:")
# 遍历传入的图片路径for img_path in sys.argv[1:]: # 生成文件名 filename = os.path.basename(img_path)
# 计算文件的 MD5 值 with open(img_path, 'rb') as file: md5_value = hashlib.md5(file.read()).hexdigest()
# 添加 MD5 值到请求头 HEADERS['md5-value'] = md5_value
# 构建文件数据 files = {'files': (filename, open(img_path, 'rb'))}
# 发送 POST 请求 response = requests.post(UPLOAD_URL, headers=HEADERS, files=files)
# 使用字符串匹配提取 URL image_url = re.search(r'"fileId":"([^"]+)"', response.text)
if image_url: # 输出图片 URL print(image_url.group(1)) else: print("Failed to extract image URL")然后在图片上传设置页面填入以下命令:

这里我们假设这个 Python 文件保存在了 /path/to/file/upload_image.py 。
点击“验证图片上传选项”:

验证成功,大功告成。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
typoraossimage
https://www.0x3f.foo/posts/typoraossimage/ next.js 解决 `x-forwarded-host` header does not match `origin` header with value from a forwarded Server Actions request
赛车弯道的最速路径
相关文章 智能推荐
1
Chrome 将我的后台登录页标记为危险:一次 Safe Browsing 误判排查记录
实验室 记录一次后台登录页面被 Chrome 标记为 Social Engineering 的排查与修复全过程,以及如何避免再次误判。
2
使用AI开发纯血鸿蒙arkTS应用的进阶指南(VSCode+Copilot)
实验室 2026-02-16
3
迁站记:自旧域至新域,自 Jekyll 至 Astro
展览厅 记一次博客由旧域迁移至新域,并由 Jekyll 更易为 Astro 之经过与所感。
4
【爽文】万律之主:从AK高考开始。
展览厅 2026-02-13
5
深入浅出 gRPC:构建高性能微服务的现代 RPC 框架
笔记本 2026-02-12
随机文章 随机推荐
无穷大?