我正在寻找一种在 Python 3 中解析 http 请求的本机方法。
这个问题 展示了一种在 Python 2 中执行此操作的方法,但使用现在已弃用的模块(和 Python 2),我正在寻找一种在 Python 3 中执行此操作的方法。
我主要想弄清楚请求的资源是什么,并从一个简单的请求中解析标头。 (IE):
GET /index.html HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
有人可以告诉我解析此请求的基本方法吗?
原文由 Startec 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用标准库中
email
模块中的email.message.Message
类。通过修改您链接的问题的 答案,下面是一个解析 HTTP 标头的 Python3 示例。
假设您想创建一个包含所有标题字段的字典:
如果您在 python 提示符下运行它,结果将如下所示: