http-parser

Screenshot der Software:
http-parser
Softwarebeschreibung:
Version: 0.8.3
Upload-Datum: 20 Feb 15
Entwickler: Benoit Chesneau
Lizenz: Frei
Popularität: 2

Rating: nan/5 (Total Votes: 0)

http-Parser ist ein HTTP-Request / Response-Parser für Python in C unter MIT-Lizenz, auf Basis von http-Parser von Ryan Dahl.
Installation:
pip installieren http-Parser
Oder installieren Sie von der Quelle:
git clone git: //github.com/benoitc/http-parser.git
cd http-Parser && python setup.py install
Anwendung:
http-Parser Ihnen parser.HttpParser Low-Level-Parser in C, die Sie in Ihrer Python-Programm zugreifen und http.HttpStream Bereitstellung höherer Ebene Zugang zu einem lesbaren, sequentielle io.RawIOBase Objekt.
Um Sie bei Ihrer täglichen Arbeit helfen, http-Parser prvides Sie 3 Arten von Lesern im Lesermodul: IterReader zu Iterables lesen, String in Strings und StringIO Objekte liest, SocketReader an Steckdosen oder Objekte mit demselben ein & icirc zu lesen; (Recv_into erforderlich) zur Verfügung. Sie CNAN natürlich nutzen jede io.RawIOBase Objekt.
Likre http-Parser in C können Sie Ihre eigenen Callbacks an die C-Parser übergeben, so dass Sie schließlich analysieren asynchron jede HTTP-Datenstrom. Rückrufe sind:
on_message_begin ()
on_path (Pfad)
on_query_string (query_string)
on_url (url)
on_fragment (Fragment)
on_header_field (Feld, last_was_value)
on_header_value (Schlüssel, Wert)
on_headers_complete ()
on_body (Stück)
on_message_complete ()
Beispiel für HttpStream
Ex:
#! / Usr / bin / env python
Import-Buchse
von http_parser.http Import HttpStream
von http_parser.reader Import SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; versuchen:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nWirt: gunicorn.org r n r n")
& Nbsp; r = SocketReader (n)
& Nbsp; p = HttpStream (r)
& Nbsp; Druck p.headers ()
. & Nbsp; Druck p.body_file () () gelesen
& Nbsp; schließlich:
& Nbsp; S.CLOSE ()
wenn __name__ == "__main__":
& Nbsp; main ()
Beispiel für HttpParser:
#! / Usr / bin / env python
Import-Buchse
von http_parser.parser Import HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; versuchen:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nWirt: gunicorn.org r n r n")
& Nbsp; while True:
& Nbsp; data = s.recv (1024)
& Nbsp; wenn nicht Daten:
& Nbsp; Pause
& Nbsp; recved = len (Daten)
& Nbsp; nparsed = p.execute (Daten, recved)
& Nbsp; behaupten nparsed == recved
& Nbsp; wenn p.is_headers_complete ():
& Nbsp; Druck p.get_headers ()
& Nbsp; wenn p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; wenn p.is_message_complete ():
& Nbsp; Pause
& Nbsp; print "" .join (Körper)
& Nbsp; schließlich:
& Nbsp; S.CLOSE ()
wenn __name__ == "__main__":
& Nbsp; main ()
. Sie können weitere Dokumente im Code zu finden (oder verwenden Sie eine doc genererator)

Anforderungen :

  • Python
  • Cython, wenn Sie den C-Code neu erstellen müssen

Andere Software von Entwickler Benoit Chesneau

hroute
hroute

11 May 15

Couchapp
Couchapp

14 Apr 15

http-parser
http-parser

12 May 15

Kommentare zu http-parser

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!