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 ви можете передати свої зворотні виклики З аналізатором, так що ви в кінцевому підсумку може розбору асинхронно будь 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 Main ():
І 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 г п г п")
І 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 Main ():
І 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 г п г п")
І 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

Restkit
Restkit

5 Jun 15

fserve
fserve

11 May 15

Couchapp
Couchapp

14 Apr 15

tproxy
tproxy

12 May 15

http-parser

Коментар не знайдено
додати коментар
Включіть картинки!