编程语言
首页 > 编程语言> > python-如何告诉HTTP服务器不发送分块编码

python-如何告诉HTTP服务器不发送分块编码

作者:互联网

我目前正在编写一个HTTP客户端,以对返回HTTP响应的URL进行HTTP POST.

但是,对于错误消息代码400和500,它将发送回非分块的HTTP响应,对于成功消息201,它将发送分块的响应.

在请求中,我正在设置内容长度,所以我不确定为什么它仍向我们发送分块传输编码.我是否可以在请求中设置其他标头,以告知HTTP服务器不要发送分块编码?

        headerList.append("POST /v2/charges HTTP/1.1")
        headerList.append("Content-Type: application/json")
        headerList.append("host: xxxxxxxxx")
        headerList.append("request-id: ABCD001123")
        headerList.append("Content-length: %d" %len(Msg))
        hostReqHeader = "\r\n".join(headerList)
        reqData = hostReqHeader + '\r\n\r\n' + qbPosMsg

我使用套接字发送这些HTTP消息,而不使用httplib或请求库.

解决方法:

块是HTTP / 1.1的必需功能.如果不需要任何其他特定于1.1的功能,请在请求中指定HTTP / 1.0:

    headerList.append("POST /v2/charges HTTP/1.0")

标签:http,http-headers,chunked-encoding,python
来源: https://codeday.me/bug/20191119/2039583.html