我需要用POST方法写一个完整的http请求包。 POST要求接受Content-Length字段,但在我写完所有内容之前我不知道数据包大小。我可以在http请求结束时添加Content-Length字段吗?和Content-Length字段大小需要包含在长度计数中吗?
答案 0 :(得分:0)
不,标题字段首先出现。您需要缓冲,或使用Transfer-Encoding:chunked(在这种情况下,您不需要Content-Length)。
答案 1 :(得分:0)
也许我不完全理解您的问题,但为什么需要在Content-Length字段中放入数据包大小? Content-Length包含消息正文的大小(发布内容),而不是数据包大小。
根据specs:
Content-Length实体标题字段指示实体主体的大小
答案 2 :(得分:0)
如果您不知道答案的确切大小,则无需指定内容长度。
此外,它还取决于您使用的HTTP版本。
对于v1.0,您可以发送数据,直到到达流的末尾,然后您可以简单地关闭连接,这是HTTP 1.0的正常行为。