从Raw Request数据构建Django HttpRequest

时间:2013-10-07 23:32:36

标签: python django httprequest wsgi

我有一个充满归档原始HTTP请求的日志文件(即带有GET请求和客户端HTTP标头的字符串)。

我有一些现有的Django Views,我想重新使用它来处理原始请求(所以我可以利用已经在视图中实现的一些副作用)。我的计划是在芹菜任务中定期处理这些存档的请求。

Django view需要能够访问请求的标题和Cookie才能运行。从这个原始数据重建Django HTTP Request对象的正确方法是什么?

示例数据:

GET /log/?pk=1e455a1038e HTTP/1.1
Host: 127.0.0.1:8080
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: fc=fcVal=68335707752227284;

1 个答案:

答案 0 :(得分:0)

您有两个明显的解决方案:

1 /编写自己的HttpRequest子类和自己的处理程序(cf django.http.requestdjango.core.handlers)或

2 /编写一个脚本来解析您的日志并将HTTP请求发送到您的django实例。