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-анализатор от Ryan Dahl.
<Силен> Монтаж:
PIP инсталирате HTTP-анализатор
Или инсталирайте от източник:
Git клонинг Git: //github.com/benoitc/http-parser.git
CD HTTP-анализатор && питон setup.py инсталиране
<Силен> Usage:
HTTP-анализатор ви предостави parser.HttpParser ниско ниво анализатор в C, че можете да получите достъп във вашия питон програма и http.HttpStream предоставяне на достъп по-високо ниво на четивна, последователно io.RawIOBase обект.
За да ви помогне в ден на работа, HTTP-анализатор ви prvides 3 вид читатели в модула за четец: IterReader да прочетете iterables, StringReader да чете низове и StringIO обекти, SocketReader да прочетете гнезда или предмети със същата A & 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
ех:
#! / ЮЕсАр / хамбар / 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 R nHost: gunicorn.org R н R н ")
& Nbsp; R = SocketReader (S)
& Nbsp; р = HttpStream (R)
& Nbsp; печат p.headers ()
& Nbsp;. Печат p.body_file () чете ()
& Nbsp; накрая:
& Nbsp; s.close ()
ако __name__ == "__main__":
& Nbsp; главната ()
Пример за HttpParser:
#! / ЮЕсАр / хамбар / 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 R nHost: gunicorn.org R н R н ")
& Nbsp; докато True:
& Nbsp; данни = s.recv (1024)
& Nbsp; ако не на данни:
& Nbsp; почивка
& Nbsp; recved = Лен (данни)
& 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; главната ()
. Можете да намерите повече документи в кода (или използването на док genererator)

<силни> Изисквания :

  • Python
  • Cython, ако имате нужда да се възстанови кода C

Друг софтуер на разработчика Benoit Chesneau

Couchapp
Couchapp

14 Apr 15

Restkit
Restkit

5 Jun 15

tproxy
tproxy

12 May 15

http-parser
http-parser

12 May 15

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

Коментари не е намерена
добавите коментар
Включете на изображения!