You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Base64编码结合Curl向Plantin发送图片诊断

Plantin平台植物诊断Bash脚本实现

要给Plantin平台发送图片进行植物问题诊断,平台要求图片必须经过Base64编码才能被接口接收。以下是对应的Bash脚本示例,功能是将garage-cam.jpg文件编码为Base64格式,再通过Curl请求Plantin的诊断接口,包含完整请求头、认证信息及响应处理逻辑。

#!/bin/bash

# 将图片文件编码为Base64格式
img="$(cat garage-cam.jpg | base64)"

# 发起Curl请求并保存响应结果
res=$(curl 'https://myplantin.com/next-api/trpc/plant-problems.diagnose?batch=1' \
  -H 'Accept: */*' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  -H 'Authorization: 044c8b07-eafe-4df9-895c-993502c8957e' \
  -H 'Connection: keep-alive' \
  -H 'Cookie: G_ENABLED_IDPS=google; pln-token=044c8b07-eafe-4df9-895c-993502c8957e; pln-user-premium=true; pln-user-id=13265880; amp_d5c551=0dmtVtWfuoKAICgbsaX_1K.MTMyNjU4ODA=..1gni9mah5.1gniat51t.37.4.3b' \
  -H 'Origin: https://myplantin.com' \
  -H 'Referer: https://myplantin.com/plant-problems' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (X11; CrOS armv7l 13597.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.105 Safari/537.36' \
  -H 'content-type: application/json' \
  -H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="104"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Linux"' \
  --data-raw '{"0":{"json":{"images":[{"base64":"data:image/jpeg;base64,'"$img"'"}]}}}' \
  --compressed)

# 检查请求是否成功,并提取诊断结果链接
if echo "$res" | grep -qo '"status":200'; then
  link=$(echo "$res" | sed -e 's/.*"link":"\([^"]*\).*/\1/' -e 's/\\\//g')
  echo "诊断结果链接:$link"
fi

脚本关键说明

  • 第一步完成图片的Base64编码,满足平台接口的格式要求
  • 请求头包含了认证信息、浏览器标识、跨域相关参数等接口必需的字段
  • 修正了原脚本中请求体的字符串拼接错误,确保Base64数据正确传入接口
  • 响应处理逻辑会验证请求状态,成功时提取并输出诊断结果的链接

内容的提问来源于stack exchange,提问作者iUncleMike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:35:21