httplib POST到REST服务器无法正常工作(缺少正文字符)

时间:2016-01-05 18:54:45

标签: python json rest httplib

我偶然发现了一个奇怪的情况,通过使用httplib作为我的http客户端到REST服务器(我没有实现,但功能齐全)正在切断http请求体末端的字符。特别是我试图发送一个我知道肯定的JSON消息,因为我打印它是正确的(我已经验证了它),但是当从服务器收到它时遗漏了2个字符,所以服务器JSON解析失败了。 / p>

这真的很奇怪,因为通过curl和java httpconnection发送消息是正确的,但是python httplib im只有POST有JSON主体才有这个问题(对于没有body或GET的POST没问题)。

我的功能代码非常简单,如下所示:

def sendReq(endpoint, port, method, url, msg, headers)
    client = httplib.HTTPConnection(endpoint, port)
    client.set_debuglevel(1)

    client.request(method, url, msg, headers)

    resp = client.getresponse()
    print resp.status, resp.reason

    client.close()

注意:我正在使用python 2.7.x,并且发送的消息大约是250-750个字符

1 个答案:

答案 0 :(得分:0)

现在最好使用 python-requests 模块,httplib模块即将被弃用......

此致