Python Django视图接收不完整的POST有效负载

Python Django视图接收不完整的POST有效负载,python,django,github,payload,pythonanywhere,Python,Django,Github,Payload,Pythonanywhere,我有一个简单的看法如下: @csrf_exempt def stackcommits(request): print request.body return HttpResponse("") 当我发布到映射到此视图的URL时,我的控制台会显示一个不完整且损坏的负载。它大约是它应该的大小的三分之一,即使是这样,第三个对我来说也是不连续的,并且以随机的方式交付。具体如下: 2014-09-30 18:47:21 我猜您的print语句正在截断隐式发生的str(request.bod

我有一个简单的看法如下:

@csrf_exempt
def stackcommits(request):
    print request.body
    return HttpResponse("")
当我发布到映射到此视图的URL时,我的控制台会显示一个不完整且损坏的负载。它大约是它应该的大小的三分之一,即使是这样,第三个对我来说也是不连续的,并且以随机的方式交付。具体如下:

2014-09-30 18:47:21

我猜您的print语句正在截断隐式发生的str(request.body)输出,但帖子的实际内容就在那里。试试这个:

import pprint

@csrf_exempt
def stackcommits(request):
    pprint.pprint(request.body)
    return HttpResponse("")

我想你只是看到了一个记录工件。消息将作为单个POST传递,但日志记录器正在分解消息,因为消息太长。使用
print>>sys.stderr,request.body
,而不仅仅是
print
打印消息(将其发送到服务器日志),它将显示在错误日志中,而不会被截断。

您是如何发布的?你可以发布一些你发布的内容/方式的代码吗?是的,当然,这是Github webhook发布的,我已经测试了Github是否正确地发送了这些内容,方法如下:你可以看到从Github发送的有效负载。刚刚试过,但似乎仍然在做同样的事情。当我让Github使用urlencode头(与json类似)时,我似乎总是在打印时在服务器日志中看到3个独立的块。我开始了,在中间的某个地方,然后是请求的结束。但在这两者之间,有很多东西是随机缺失的。您能想出其他方法来测试我的服务器是否正确接收数据吗?