http-parser

Скриншот программы:
http-parser
Детали программы:
Версия: 0.8.3
Дата загрузки: 20 Feb 15
Разработчик: Benoit Chesneau
Тип распространения: Бесплатная
Популярность: 2

Rating: nan/5 (Total Votes: 0)

HTTP-анализатор является запрос / ответ HTTP парсер для Python в C под лицензией MIT, основанный на HTTP-парсера с Райаном Даля.
Установка
пункт установить HTTP-анализатор
Или установить из исходников:
Git клон Git: //github.com/benoitc/http-parser.git
CD-анализатор HTTP && питон setup.py установить
Применение:
HTTP-анализатор предоставить вам parser.HttpParser низкого уровня парсер C, что вы можете получить доступ к вашей программы питона и http.HttpStream обеспечения доступа более высокого уровня в читаемый, последовательного объекта io.RawIOBase.
Чтобы помочь вам в вашей повседневной работе, HTTP-анализатор prvides вы 3 Вид читателей в модуле чтения: IterReader читать итерируемых, StringReader для чтения строк и объектов StringIO, SocketReader читать розетки или объекты с одинаковыми а и icirc; (recv_into требуется). Вы cnan, конечно, использовать любой предмет io.RawIOBase.
Likre HTTP-анализатор в C вы можете передать свои обратные вызовы в C парсер, так что вы в конечном итоге может разобрать любой асинхронно HTTP поток. Обратные вызовы:
on_message_begin ()
on_path (путь)
on_query_string (query_string)
on_url (URL)
on_fragment (фрагмент)
on_header_field (поле, last_was_value)
on_header_value (ключ, значение)
on_headers_complete ()
on_body (кусок)
on_message_complete ()
Пример HttpStream
например:
#! / USR / бен / ENV питон
импорт гнездо
от импорта http_parser.http HttpStream
от http_parser.reader SocketReader импорта
Def основной ():
& NBSP; S = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& NBSP; найти:
& NBSP; s.connect (('gunicorn.org', 80))
& NBSP; s.send ("GET / HTTP / 1.1 \ г \ nHost: gunicorn.org \ г \ N \ г \ п")
& NBSP; г = SocketReader (ы)
& NBSP; р = HttpStream (г)
и NBSP; печать p.headers ()
& NBSP;. Печать p.body_file () следующим образом ()
& NBSP; наконец:
& NBSP; s.close ()
если __name__ == "__main__":
& NBSP; Main ()
Пример HttpParser:
#! / USR / бен / ENV питон
импорт гнездо
от импорта http_parser.parser HttpParser
Def основной ():
& NBSP; р = HttpParser ()
& NBSP; S = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& NBSP; тело = []
& NBSP; найти:
& NBSP; s.connect (('gunicorn.org', 80))
& NBSP; s.send ("GET / HTTP / 1.1 \ г \ nHost: gunicorn.org \ г \ N \ г \ п")
& NBSP; в то время как True:
и NBSP; данные = s.recv (1024)
& NBSP; если не данные:
& NBSP; перерыв
& NBSP; recved = Len (данные)
& NBSP; nparsed = p.execute (данные, recved)
& NBSP; утверждают nparsed == recved
& NBSP; если p.is_headers_complete ():
и NBSP; печать p.get_headers ()
& NBSP; если p.is_partial_body ():
& NBSP; body.append (p.recv_body ())
& NBSP; если p.is_message_complete ():
& NBSP; перерыв
& NBSP; печать "" .join (орган)
& NBSP; наконец:
& NBSP; s.close ()
если __name__ == "__main__":
& NBSP; Main ()
. Вы можете найти больше документации в коде (или использовать DOC genererator)

Требования

  • Python
  • Cython, если вам нужно, чтобы восстановить код C

Другие программы разработчика Benoit Chesneau

tproxy
tproxy

12 May 15

fserve
fserve

11 May 15

http-parser
http-parser

12 May 15

Couchapp
Couchapp

14 Apr 15

Комментарии к http-parser

Комментарии не найдены
добавить комментарий
Включите картинки!