Подтвердить что ты не робот

Parse Raw HTTP в Python

Я ищу библиотеку или вызов функции в python или связанную с ней библиотеку, которая позволяла бы мне загружать сырые потоки текстовых данных, представляющих HTTP req/res, и которые могли бы выплюнуть, что информация - это своего рода значимая форма, например словарь или список. Я не хочу использовать какой-либо встроенный класс или создавать кучу новых объектов, в моей программе, которую я получаю в некоторых исходных данных, и это именно то, с чем мне нужно работать. Есть ли там решение для этого, или мне нужно написать собственный парсер HTTP?

Изменить: Позвольте мне уточнить, что именно я хочу сделать. Я ищу что-то, что займет строку вроде:

GET /index.html HTTP/1.1 \r\n
Host:www.stackoverflow.com \r\n
User-Agent:Firefox \r\n
etc.

И отправьте мне что-то, инкапсулирующее метод, версию HTTP, заголовки и все остальное.

4b9b3361

Ответ 1

http://docs.python.org/library/httplib.html Я считаю, что это библиотека, которую вы ищете. Небольшое изменение в имени для python 3, но в остальном это хорошо.

Ответ 2

Существует чистый парсер Python HTTP, который поставляется в качестве резервной реализации для оптимизированной реализации C/Cython проекта http-parser.

Вот чистая версия python:

Здесь источник версии C и обертка Cython:

Ответ 3

Я бы начал с просмотра WebOb. Я думаю, что модуль cgi в стандартной библиотеке также имеет парсер HTTP.