http-parser

Software screenshot:
http-parser
Software informatie:
Versie: 0.8.3
Upload datum: 20 Feb 15
Ontwikkelaar: Benoit Chesneau
Licentie: Gratis
Populariteit: 2

Rating: nan/5 (Total Votes: 0)

http-parser is een HTTP request / response parser voor Python in C onder de MIT-licentie, gebaseerd op http-parser van Ryan Dahl.
Installatie:
pip installeren http-parser
Of installeren van de bron:
git clone git: //github.com/benoitc/http-parser.git
cd http-parser && python setup.py installeren
Gebruik:
http-parser bieden u parser.HttpParser low-level parser in C die u kunt gebruiken in uw python programma en http.HttpStream verschaffen van toegang hoger niveau naar een leesbare, sequentiële io.RawIOBase object.
Om u te helpen in uw dagelijkse werk, http-parser prvides je 3 soorten van lezers in de lezer module: IterReader te iterables lezen, StringReader om leest strijkers en StringIO objecten, SocketReader om bussen of objecten met dezelfde a & icirc lezen; (Recv_into nodig). Je CNAN natuurlijk gebruik maken van elke io.RawIOBase object.
Likre http-parser in C kunt u uw eigen callbacks doorgeven aan de C-parser, zodat je uiteindelijk kunt ontleden asynchroon elke HTTP stream. Callbacks zijn:
on_message_begin ()
on_path (pad)
on_query_string (QUERY_STRING)
on_url (url)
on_fragment (fragment)
on_header_field (veld, last_was_value)
on_header_value (key, value)
on_headers_complete ()
on_body (brok)
on_message_complete ()
Voorbeeld van HttpStream
ex:
#! / Usr / bin / env python
import socket
van http_parser.http import HttpStream
van http_parser.reader import SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; proberen:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; r = SocketReader (s)
& Nbsp; p = HttpStream (r)
& Nbsp; druk p.headers ()
& Nbsp;. Afdruk p.body_file () gelezen ()
& Nbsp; tot slot:
& Nbsp; s.close ()
Als __name__ == "__main__":
& Nbsp; main ()
Voorbeeld van HttpParser:
#! / Usr / bin / env python
import socket
van http_parser.parser import HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; proberen:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; terwijl True:
& Nbsp; data = s.recv (1024)
& Nbsp; zoniet gegevens:
& Nbsp; break
& Nbsp; recved = Len (data)
& Nbsp; nparsed = p.execute (data, recved)
& Nbsp; beweren nparsed == recved
& Nbsp; als p.is_headers_complete ():
& Nbsp; druk p.get_headers ()
& Nbsp; als p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; als p.is_message_complete ():
& Nbsp; break
& Nbsp; print "" .join (lichaam)
& Nbsp; tot slot:
& Nbsp; s.close ()
Als __name__ == "__main__":
& Nbsp; main ()
. U kunt meer docs vinden in de code (of gebruik een doc genererator)

Eisen

  • Python
  • Cython als je nodig hebt om de C-code te herbouwen

Andere software van ontwikkelaar Benoit Chesneau

hroute
hroute

11 May 15

tproxy
tproxy

12 May 15

Restkit
Restkit

5 Jun 15

Reacties op http-parser

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!