http-parser

Logiciel capture d'écran:
http-parser
Détails logiciels:
Version: 0.8.3
Date de transfert: 20 Feb 15
Développeur: Benoit Chesneau
Licence: Gratuit
Popularité: 2

Rating: nan/5 (Total Votes: 0)

http-analyseur est un analyseur de requête / réponse HTTP pour Python en C sous licence MIT, basée sur http-analyseur de Ryan Dahl.
Installation:
pip installer http-parser
Ou installer de la source:
git clone git: //github.com/benoitc/http-parser.git
cd http-parser && python setup.py install
Utilisation:
http-parser vous fournir parser.HttpParser bas niveau analyseur en C que vous pouvez accéder à votre programme de python et http.HttpStream fournissant un accès de niveau supérieur à un objet io.RawIOBase séquentielle lisible.
Pour vous aider dans votre travail de jour, http-analyseur vous prvides trois aimables de lecteurs dans le module de lecture: IterReader à lire iterables, StringReader au lit cordes et objets StringIO, SocketReader lire prises ou des objets avec le même a & icirc; (Recv_into nécessaire). Vous CNAN bien sûr utiliser ne importe quel objet io.RawIOBase.
Likre http-analyseur en C, vous pouvez passer vos propres rappels à l'analyseur C, de sorte que vous pouvez éventuellement analyser de manière asynchrone ne importe quel flux HTTP. Rappels sont:
(on_message_begin)
on_path (chemin)
on_query_string (query_string)
on_url (url)
on_fragment (fragment)
on_header_field (champ, last_was_value)
on_header_value (clé, valeur)
on_headers_complete ()
on_body (morceau)
on_message_complete ()
Exemple de HttpStream
ex:
#! / Usr / bin / env python
prise d'importation
de http_parser.http importation HttpStream
de http_parser.reader importation SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; essayez:
& 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; p.headers d'impression ()
& Nbsp;. Print p.body_file () read ()
& Nbsp; enfin:
& Nbsp; s.close ()
if __name__ == "__main__":
& Nbsp; main ()
Exemple de HttpParser:
#! / Usr / bin / env python
prise d'importation
de http_parser.parser importation HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; corps = []
& Nbsp; essayez:
& 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; data = s.recv (1024)
& Nbsp; si ce ne est des données:
& Nbsp; la rupture
& Nbsp; recved = len (données)
& Nbsp; nparsed = p.execute (données, recved)
& Nbsp; valoir == nparsed recved
& Nbsp; si p.is_headers_complete ():
& nbsp; p.get_headers d'impression ()
& Nbsp; si p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; si p.is_message_complete ():
& Nbsp; la rupture
& Nbsp; print "" .join (corps)
& Nbsp; enfin:
& Nbsp; s.close ()
if __name__ == "__main__":
& Nbsp; main ()
. Vous pouvez trouver plus de docs dans le code (ou utiliser un genererator doc)

Exigences :

  • Python
  • Cython si vous avez besoin de reconstruire le code C

D'autres logiciels de développeur Benoit Chesneau

Restkit
Restkit

5 Jun 15

http-parser
http-parser

12 May 15

tproxy
tproxy

12 May 15

hroute
hroute

11 May 15

Commentaires à http-parser

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!