Logo

curl遇到的坑

curl中post表格的时候的坑

2023年4月1日
1 min read

一开始我是这么写的

Terminal window
# 获取更新后的证书和私钥文件路径
CERT_PATH=$(cat ./netlify_cert/domain.com.cert.pem)
KEY_PATH=$(cat ./netlify_cert/domain.com.key.pem)
FULLCHAIN_CERT_PATH=$(cat ./netlify_cert/domain.com.fullchain.pem)
# 使用 Netlify API 上传证书
curl -X POST \
-H "Authorization: Bearer $NETLIFY_API_KEY" \
-d "key=${KEY_PATH}" \
-d "ca_certificates=${FULLCHAIN_CERT_PATH}" \
-d "certificate=${CERT_PATH}" \
"https://api.netlify.com/api/v1/sites/${NETLIFY_SITE_ID}/ssl"

这么写看着没用什么问题,但是-d命令是默认进行urlencode的,这样子我的证书就会改变。需要改成--form-string才行。

这种默认就urlencode的,curl -h中又没说明,真的好坑