Я наткнулся на странную ситуацию, когда использование httplib в качестве моего http-клиента для REST-сервера (не реализованного мной, но полностью функционального) обрезает символы в конце тела http-запроса. В частности, я пытаюсь отправить сообщение JSON, которое я точно знаю, так как я печатаю его правильно (я проверил его), но при получении от сервера в конце отсутствуют 2 символа, поэтому синтаксический анализ JSON на сервере не работает.
Это действительно странно, так как сообщение правильное при отправке через curl и через java httpconnection, но с python httplib im эта проблема возникает только с POST, имеющим тело JSON (нет проблем для POST без тела или GET).
мой код функции очень прост и выглядит следующим образом:
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
? - person Chris Nauroth   schedule 06.01.2016