在Django 1.3中读取原始HTTP请求

时间:2011-10-28 16:04:23

标签: python django http

我想在Django 1.3中读取原始HTTP请求。

有一种简单的方法吗?

我尝试了以下但没有成功:

clength = int(request.META.get("CONTENT_LENGTH"))
data = request.read(1000)
# data comes out empty

也尝试过:

for part in request:
    pass
    # never enters the loop

我这样做的原因是,在raw_post_data命令上使用multipart/related MIME信息时,我的POST属性以某种方式为空。显然是bug that's been there for a long time

2 个答案:

答案 0 :(得分:2)

您是否尝试过HttpRequest.raw_post_data?在修复错误之前,您应该看一下这些内容。 https://docs.djangoproject.com/en/1.3/ref/request-response/#django.http.HttpRequest.raw_post_data

答案 1 :(得分:2)

对于django版本< 1.4,您可以使用HttpRequest.raw_post_data,对于版本> = 1.4,使用HttpRequest.body instead