http-parser

Programinė įranga Screenshot:
http-parser
Programinė detalės:
Versija: 0.8.3
Įkėlimo datą: 20 Feb 15
Kūrėjas: Benoit Chesneau
Licencija: Nemokamai
Populiarumas: 16

Rating: nan/5 (Total Votes: 0)

http analizatorius yra HTTP užklausa / atsakymas analizatorius Python C pagal MIT licencijos, remiantis http-analizatorius nuo Ryan Dahl.
Įrengimas:
PIP įdiegti http analizatorius
Arba įdiegti iš šaltinio:
GIT klonas git: //github.com/benoitc/http-parser.git
CD http analizatorius && python setup.py įdiegti
Naudojimas:
http analizatorius suteikia jums parser.HttpParser žemo lygio analizatorius į C, kad galite pasiekti savo python programa ir http.HttpStream teikia aukštesnio lygio prieigą prie skaitymo, eilės io.RawIOBase objektą.
Norėdami padėti jums jūsų dieninį darbą, http analizatoriaus prvides jums 3 rūšies skaitytojams skaitytojui modulis: IterReader skaityti iterables, StringReader į skaito eilutes ir StringIO objektus, SocketReader skaityti lizdai ar objektus su tuo pačiu A & icirc; (Recv_into reikia). Jūs CNAN žinoma naudoti bet io.RawIOBase objektą.
Likre http analizatorius C galite pereiti savo iššūkius, su C analizatorius, todėl galiausiai galite apdoroti asinchroniškai jokios HTTP srautą. Šios funkcijos yra šios:
on_message_begin ()
on_path (kelias)
on_query_string (QUERY_STRING)
on_url (URL)
on_fragment (fragmentas)
on_header_field (laukas, last_was_value)
on_header_value (raktinės, vertė)
on_headers_complete ()
on_body (riekė)
on_message_complete ()
Pavyzdys HttpStream
pvz:
/ Usr / bin / env python #!
importo lizdas
nuo http_parser.http importo HttpStream
nuo http_parser.reader importo SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; bandyti:
& Nbsp; s.connect (('gunicorn.org ", 80))
& Nbsp; s.send ("Get / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; r = SocketReader (-ai)
& Nbsp; p = HttpStream (r)
& nbsp; spausdinimo p.headers ()
& Nbsp;. Spausdinti p.body_file () skaityti ()
& Nbsp; pagaliau:
& Nbsp; s.close ()
jei __name__ == "__main__":
& Nbsp; main ()
Pavyzdys HttpParser:
/ Usr / bin / env python #!
importo lizdas
nuo http_parser.parser importo HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; kūno = []
& Nbsp; bandyti:
& Nbsp; s.connect (('gunicorn.org ", 80))
& Nbsp; s.send ("Get / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; while True:
& nbsp; duomenys = s.recv (1024)
& Nbsp; jei ne duomenys:
& Nbsp; pertrauka
& Nbsp; recved = len (duomenys)
& Nbsp; nparsed = p.execute (duomenų, recved)
& Nbsp; teigia nparsed == recved
& Nbsp; jei p.is_headers_complete ():
& nbsp; spausdinimo p.get_headers ()
& Nbsp; jei p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; jei p.is_message_complete ():
& Nbsp; pertrauka
& Nbsp; spausdinti ".join (kūno)
& Nbsp; pagaliau:
& Nbsp; s.close ()
jei __name__ == "__main__":
& Nbsp; main ()
. Čia galite rasti daugiau docs kodą (arba naudokite doc genererator)

Reikalavimai :

  • Python
  • Cython jei jums reikia atstatyti C kodą

Kita programinė įranga kūrėjas Benoit Chesneau

tproxy
tproxy

12 May 15

Restkit
Restkit

5 Jun 15

http-parser
http-parser

12 May 15

Komentarai http-parser

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!