我目前正在为 bitbucket 问题 RESTful API 开发一个库。我取得了不错的进展,现在我将处理需要 HTTP PUT 请求的更新问题部分。
现在我被困住了,因为 HTTP Error Code 411 Length Required
。经过一番谷歌搜索,我找到了以下代码示例:
// CORRECT: get a UTF-8 encoded byte array from the response
// String and set the content-length to the length of the
// resulting byte array.
String response = [insert XML with UTF-8 characters here];
byte[] responseBytes;
try {
responseBytes = response.getBytes("UTF-8");
}
catch ( UnsupportedEncodingException e ) {
System.err.print("My computer hates UTF-8");
}
this.contentLength_ = responseBytes.length;
现在我的问题是:精确测量的是什么?
- 查询字符串
- urlencoded 查询字符串
- 只有参数的值...??
并且是connection.setRequestProperty("Content-Length", String.valueOf(<mycomputedInt>));
设置内容长度属性的适当方法吗?
例子赞赏。提前致谢。
编辑:
例如,您可以使用来自 bitbucket wiki 条目的以下 curl 示例来解释计算:
curl -X PUT -d "content=Updated%20Content" \
https://api.bitbucket.org/1.0/repositories/sarahmaddox/sarahmaddox/issues/1/