2011-10-28 34 views
5

我想在Django 1.3中讀取原始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 

我這樣做的原因是因爲在某種程度上使用的POSTmultipart/related MIME信息時,我raw_post_data屬性爲空命令。顯然是bug that's been there for a long time

+2

'request'沒有任何內容。它只是提供了有關請求的詳細信息 - 因此名稱。內容來自*響應*。 –

+0

你究竟在做什麼?這是否試圖解析上傳的文件內容? – jathanism

+0

@jathanism:沒有。我正在接收來自MMS消息中心的「multipart/related」POST,即使數據存在,DJANGO也不會通過request請求對象公開它。我通過嗅探數據包確保數據在那裏。 –

回答

2

Django的版本< 1.4,你可以使用HttpRequest.raw_post_data,以及版本> = 1.4,使用HttpRequest.bodyinstead