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

Artifactory API调用异常:cURL复制制品返回400 Bad Request

解决Artifactory Copy API返回400 Bad Request的问题

问题根源

你的cURL命令存在两个核心错误:

  1. 请求方法冲突:-G参数会强制将请求转为GET,但Artifactory的Copy Item API要求使用POST请求。即便你指定了-X POST,-G的优先级更高,实际发送的是GET请求,不符合API要求。
  2. 参数位置错误:Copy API的to、dry等参数需要以表单数据形式放在请求体中,而非URL查询字符串。你的命令因-G把参数放到了URL上,导致服务器无法正确解析请求。

修正后的cURL命令

移除-G参数,保持POST请求,让-d参数以表单数据形式发送:

curl -s \
    -X POST \
    --user "${ARTIFACTORY_USER}:${ARTIFACTORY_API_KEY}" \
    -d "to=prod-deb/${pkg_path}" \
    -d "dry=1" \
    "${ARTIFACTORY_API_URL}/copy/testing-deb/${pkg_path}" -v

额外注意事项

  • 确认${ARTIFACTORY_API_URL}格式正确,应为类似https://your-artifactory-domain/artifactory/api的完整路径,避免末尾多斜杠或路径错误。
  • to参数格式为目标仓库名/文件路径,不需要开头的斜杠(如prod-deb/path/to/pkg.deb而非/prod-deb/path/to/pkg.deb),Artifactory 6.x版本对该格式兼容性较好。
  • dry=1参数可在不实际复制文件的前提下,验证复制逻辑的可行性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 00:48:13