我偶然发现了一个奇怪的情况,通过使用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个字符
答案 0 :(得分:0)
现在最好使用 python-requests 模块,httplib模块即将被弃用......
此致