我需要使用Gitlab API发送
放置
-使用curl(v.7.35.0)请求
key=value
参数。钥匙
content
需要是二进制文件内容。所以我需要将其作为base64发送,但之前我已经失败了。然而,大文件内容1.2MB是我不得不使用stdin作为curl的原因,其他语法抱怨URI/参数列表太大。
从中获取了一些输入
https://unix.stackexchange.com/questions/174350/curl-argument-list-too-long
. 但在curl中的参数组合仍然有点迷失。
DATA="{
\"author_email\": \"autoupdate-geoip@company.com\",
\"author_name\": \"Autoupdater GeoIp\",
\"branch\": \"${BRANCH_NAME}\",
\"content\": \"this-should-be-file-content-of-GeoIP.dat\",
\"commit_message\": \"Update GeoIP database\"
\"encoding\": \"base64\"
}"
curl -X PUT -G "${GEOIP_URL}" \
--header "PRIVATE-TOKEN: ${TOKEN}" \
--header "Content-Type: application/json" \
--data-urlencode @- <<EOF
"${DATA}"
EOF
卷曲的常见替代品也适用于我。