【发布时间】:2016-01-05 18:54:45
【问题描述】:
我偶然发现了一个奇怪的情况,即通过使用 httplib 作为我的 http 客户端到 REST 服务器(不是由我实现但功能齐全)正在切断 http 请求正文末尾的字符。特别是我试图发送一条我确定的 JSON 消息,因为我打印它是正确的(我已经验证了它)但是当从服务器接收到它时它最后缺少 2 个字符,因此服务器 JSON 解析失败。
这真的很奇怪,因为当通过 curl 和 java httpconnection 发送消息时消息是正确的,但是对于 python httplib 我只有在具有 JSON 正文的 POST 时才会出现此问题(对于没有正文或 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 个字符
【问题讨论】:
-
我无法复制这个。您能否编辑您的问题以显示您在
msg和任何headers中发送的JSON? -
@ChrisNauroth 通过移动具有几乎相同功能的 httplib2 解决了我的问题......我不明白这个问题,因为我没有改变关于我发送的 json 的任何内容......我不想公开我的 json正在发送...无论如何感谢您的尝试!
-
很高兴听到您找到了解决方案。 :-)