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

App Center构建上传时Curl POST请求报HTTP 411错误求助

解决App Center curl POST请求的HTTP 411错误

问题描述

尝试通过curl向App Center API发送POST请求初始化构建上传时,收到HTTP 411(Length Required)错误,错误提示请求必须分块或包含内容长度。原curl命令如下:

API_URL="https://api.appcenter.ms/v0.1/apps/$TEAM_APP"
AUTH="X-API-Token: $API_TOKEN"
ACCEPT_JSON="Accept: application/json"
request_url="$API_URL/uploads/releases"
upload_json=$(curl -s -X POST -H "Content-Type: application/json" -H "$ACCEPT_JSON" -H "$AUTH" "$request_url")

错误信息:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Length Required</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Length Required</h2>
<hr><p>HTTP Error 411. The request must be chunked or have a content length.</p>
</BODY></HTML>

问题原因

HTTP 411错误的核心原因是:你的POST请求没有携带请求体(body),也未告知服务器内容长度。虽然已设置Content-Type: application/json,但空请求体导致服务器无法确定请求的内容长度,不符合HTTP协议对POST请求的要求。

App Center的/uploads/releases接口需要初始化上传会话,即使无需传递业务参数,也需要发送一个空的JSON对象作为请求体,触发curl自动生成Content-Length头或启用分块传输。

解决方案

修改curl命令,添加空请求体让curl自动处理内容长度,以下两种方式均可:

方式1:发送空JSON对象

使用-d '{}'参数传递空JSON对象,curl会自动计算并添加Content-Length头:

API_URL="https://api.appcenter.ms/v0.1/apps/$TEAM_APP"
AUTH="X-API-Token: $API_TOKEN"
ACCEPT_JSON="Accept: application/json"
request_url="$API_URL/uploads/releases"
upload_json=$(curl -s -X POST -H "Content-Type: application/json" -H "$ACCEPT_JSON" -H "$AUTH" -d '{}' "$request_url")

方式2:启用分块传输

若确实不需要请求体,可通过-T -参数让curl启用分块传输,绕过内容长度校验:

API_URL="https://api.appcenter.ms/v0.1/apps/$TEAM_APP"
AUTH="X-API-Token: $API_TOKEN"
ACCEPT_JSON="Accept: application/json"
request_url="$API_URL/uploads/releases"
upload_json=$(curl -s -X POST -H "Content-Type: application/json" -H "$ACCEPT_JSON" -H "$AUTH" -T - "$request_url" <<< '')

验证说明

添加-d '{}'后,curl会自动在请求头中添加Content-Length: 2({}的字符长度为2),满足服务器对内容长度的要求,即可解决411错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:27:47