http-parser

Skjermbilde programvare:
http-parser
Prog.varedetaljer:
Versjon: 0.8.3
Last opp dato: 20 Feb 15
Utvikler: Benoit Chesneau
Lisens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

http-parser er en HTTP-forespørsel / respons parser for Python i C under MIT-lisensen, basert på http-parser fra Ryan Dahl.
Installasjon:
PIP installere http-parser
Eller installere fra kilden:
git clone git: //github.com/benoitc/http-parser.git
cd http-parser && python setup.py installere
Bruk:
http-parser gi deg parser.HttpParser lavnivå parser i C som du kan få tilgang til i ditt python program og http.HttpStream gi høyere nivå tilgang til en lesbar, sekvensiell io.RawIOBase objekt.
For å hjelpe deg i din daglige arbeidet, http-parser prvides deg tre slags lesere i leseren modul: IterReader å lese iterables, StringReader å leser strenger og StringIO objekter, SocketReader å lese stikkontakter eller objekter med samme a & icirc; (Recv_into nødvendig). Du cnan selvfølgelig bruke noen io.RawIOBase objekt.
Likre http-parser i C du kan passere dine egne callbacks til C parser, slik at du til slutt kan analysere asynkront noen HTTP stream. Tilbakering er:
on_message_begin ()
on_path (bane)
on_query_string (QUERY_STRING)
on_url (url)
on_fragment (fragment)
on_header_field (felt, last_was_value)
on_header_value (nøkkel, verdi)
on_headers_complete ()
on_body (blings)
on_message_complete ()
Eksempel på HttpStream
ex:
#! / Usr / bin / env python
import socket
fra http_parser.http import HttpStream
fra http_parser.reader import SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; prøve:
& 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; print p.headers ()
. & Nbsp; print p.body_file () lese ()
& Nbsp; endelig:
& Nbsp; s.close ()
hvis __name__ == "__main__":
& Nbsp; main ()
Eksempel på HttpParser:
#! / Usr / bin / env python
import socket
fra http_parser.parser import HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; prøve:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; mens Sann:
& nbsp; data = s.recv (1024)
& Nbsp; om ikke data:
& Nbsp; break
& Nbsp; recved = len (data)
& Nbsp; nparsed = p.execute (data, recved)
& Nbsp; hevde nparsed == recved
& Nbsp; hvis p.is_headers_complete ():
& nbsp; print p.get_headers ()
& Nbsp; hvis p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; hvis p.is_message_complete ():
& Nbsp; break
& Nbsp; print "" .join (body)
& Nbsp; endelig:
& Nbsp; s.close ()
hvis __name__ == "__main__":
& Nbsp; main ()
. Du kan finne flere dokumenter i koden (eller bruk en doc genererator)

Krav :

  • Python
  • Cython hvis du trenger å gjenoppbygge C-kode

Annen programvare fra utvikleren Benoit Chesneau

Couchapp
Couchapp

14 Apr 15

http-parser
http-parser

12 May 15

fserve
fserve

11 May 15

hroute
hroute

11 May 15

Kommentarer til http-parser

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!