http-parser

Screenshot Software:
http-parser
Detalii soft:
Versiune: 0.8.3
Incarca data: 20 Feb 15
Producător: Benoit Chesneau
Licenţă: Gratuit
Popularitate: 16

Rating: nan/5 (Total Votes: 0)

http-parser este un HTTP parser cerere / răspuns pentru Python în C sub MIT License, bazat pe http-parser de la Ryan Dahl.
Instalare:
Pip instala http-parser
Sau instalare de la sursa:
git git clona: //github.com/benoitc/http-parser.git
cd http-parser && piton setup.py instala
Utilizare:
http-parser vă oferă parser.HttpParser de nivel scăzut parser în C pe care le puteți accesa în programul python și http.HttpStream furnizarea de acces la nivel superior la un, secvențial obiect io.RawIOBase lizibil.
Pentru a vă ajuta în munca ta de zi, prvides http-te parser 3 fel de cititori din modulul cititor: IterReader pentru a citi iterables, StringReader la citește siruri de caractere și obiecte StringIO, SocketReader a citi prize sau obiecte cu același A & icirc; (Recv_into necesar). Ai cnan desigur folosi orice obiect io.RawIOBase.
Likre http-parser în C, puteți trece propriile callback la C parserul, astfel încât să puteți analiza în cele din urmă asincron orice flux HTTP. Callback-urile sunt:
on_message_begin ()
on_path (cale)
on_query_string (QUERY_STRING)
on_url (url)
on_fragment (fragment)
on_header_field (câmp, last_was_value)
on_header_value (element, valoare)
on_headers_complete ()
on_body (bucată)
on_message_complete ()
Exemplu de HttpStream
ex:
#! / Usr / bin / env python
soclu import
de la http_parser.http import HttpStream
de la http_parser.reader SocketReader import
def principal ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; încercați:
& Nbsp; s.connect (("gunicorn.org", 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; r = SocketReader (e)
& Nbsp; p = HttpStream (r)
& nbsp; p.headers de imprimare ()
& Nbsp;. P.body_file imprimare () citire ()
& Nbsp; în cele din urmă:
& Nbsp; s.close ()
dacă __name__ == "__main__":
& Nbsp; main ()
Exemplu de HttpParser:
#! / Usr / bin / env python
soclu import
de la http_parser.parser import HttpParser
def principal ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; corp = []
& Nbsp; încercați:
& Nbsp; s.connect (("gunicorn.org", 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; în timp ce Adevărat:
& nbsp; date = s.recv (1024)
& Nbsp; dacă nu date:
& Nbsp; pauză
& Nbsp; recved = len (date)
& Nbsp; nparsed = p.execute (date, recved)
& Nbsp; afirma == nparsed recved
& Nbsp; dacă p.is_headers_complete ():
& nbsp; p.get_headers de imprimare ()
& Nbsp; dacă p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; dacă p.is_message_complete ():
& Nbsp; pauză
& Nbsp; de imprimare "" .join (corp)
& Nbsp; în cele din urmă:
& Nbsp; s.close ()
dacă __name__ == "__main__":
& Nbsp; main ()
. Puteți găsi mai multe documente din codul (sau de a folosi un genererator doc)

Cerințe :

  • Python
  • Cython dacă aveți nevoie pentru a reconstrui codul C

Alte software-uri de dezvoltator Benoit Chesneau

tproxy
tproxy

12 May 15

fserve
fserve

11 May 15

hroute
hroute

11 May 15

http-parser
http-parser

12 May 15

Comentarii la http-parser

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!