http-parser

Software kuvakaappaus:
http-parser
Ohjelmiston tiedot:
Versio: 0.8.3
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Benoit Chesneau
Lupa: Vapaa
Suosio: 2

Rating: nan/5 (Total Votes: 0)

http-tulkinta on HTTP-pyyntö / vastaus parser Python C alle MIT-lisenssi, joka perustuu http-parseri Ryan Dahl.
Asennus:
Pip asentaa http-parseri
Tai asentaa lähteestä:
git klooni git: //github.com/benoitc/http-parser.git
cd http-parseri && python setup.py asentaa
Käyttö:
http-parseri antaa sinulle parser.HttpParser matalan tason -jäsentimen C, että voit käyttää oman python ohjelma ja http.HttpStream tarjoaa korkeamman tason pääsyn luettavissa, juokseva io.RawIOBase esine.
Voit auttaa sinua päivä työtä, http-parseri prvides sinulle 3 sellaista lukijoita lukija moduuli: IterReader lukea iterables, StringReader sen lukee jousille ja StringIO esineitä, SocketReader lukea pistorasiat tai esineitä, joilla on sama & icirc; (Recv_into tarvitaan). Et cnan tietysti käyttää mitä tahansa io.RawIOBase esinettä.
Likre http--jäsentimen C voit välittää oman kutsuvastauksia C parseri, joten voit lopulta jäsentää asynkronisesti tahansa HTTP stream. Vastakutsut:
on_message_begin ()
on_path (polku)
on_query_string (QUERY_STRING)
on_url (url)
on_fragment (fragmentti)
on_header_field (kenttä, last_was_value)
on_header_value (avain, arvo)
on_headers_complete ()
on_body (murikka)
on_message_complete ()
Esimerkkinä HttpStream
ex:
#! / Usr / bin / env python
tuonti pistorasia
alkaen http_parser.http tuonti HttpStream
alkaen http_parser.reader tuonti SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; kokeile:
& 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 (). Lue ()
& Nbsp; lopuksi:
& Nbsp; s.close ()
jos __name__ == "__main__":
& Nbsp; main ()
Esimerkki HttpParser:
#! / Usr / bin / env python
tuonti pistorasia
alkaen http_parser.parser tuonti HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; kokeile:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; taas True:
& Nbsp; data = s.recv (1024)
& Nbsp; jos ei tiedot:
& Nbsp; tauko
& Nbsp; recved = len (tiedot)
& Nbsp; nparsed = p.execute (tiedot, recved)
& Nbsp; väittää nparsed == recved
& Nbsp; jos p.is_headers_complete ():
& Nbsp; print p.get_headers ()
& Nbsp; jos p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; jos p.is_message_complete ():
& Nbsp; tauko
& Nbsp; print "" .join (runko)
& Nbsp; lopuksi:
& Nbsp; s.close ()
jos __name__ == "__main__":
& Nbsp; main ()
Löydät lisää dokumentteja koodin (tai käytä doc genererator).

Vaatimukset :

  • Python
  • Cython jos pitää uudelleenasentaa C-koodia

Muu ohjelmistojen kehittäjä Benoit Chesneau

Couchapp
Couchapp

14 Apr 15

hroute
hroute

11 May 15

fserve
fserve

11 May 15

Kommentit http-parser

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!