http-parser

Demande HTTP / Parser de réponse
Télécharger maintenant

http-parser Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • MIT/X Consortium Lic...
  • Nom de l'éditeur:
  • Benoit Chesneau
  • Site Internet de l'éditeur:
  • http://code.google.com/u/bchesneau/

http-parser Mots clés


http-parser La description

Demande HTTP / Parseur de réponse HTTP-PARSER est un analyseur HTTP Demande / Response pour Python en C sous licence MIT, basé sur HTTP-Parser de Ryan Dahl.Installation: PIP INSTALLATION HTTP-PARSEROR INSTALLATION DE SOURCE: GIT Clone Git: //github.com/benoitc/ http-parser.gitcd http-parser python setup.py installusage: http-parser vous fournit parser.httparser d'analyseur de bas niveau en C que vous pouvez accéder à votre programme Python et http.httpstream fournissant un accès à un niveau supérieur à une séquence lisible et séquentielle io.rawiobase objet.Pour vous aider dans votre journée de travail, http-parser prvide vous 3 types de lecteurs dans le module de lecture: ITREREADER à lire itérables, stringreader à lire des cordes et des objets Stringio, SockeTreader pour lire des sockets ou des objets avec le même Aî (Recv_into nécessaire). Vous utilisez bien sûr n'importe quel objet io.rawiobase.likre http-analyseur en C Vous pouvez transmettre vos propres rappels à l'analyseur C. Vous pouvez donc éventuellement analyser tout flux HTTP. Les rappels sont: On_Message_begin () On_path (chemin) On_Quéry_string (Query_string) On__URL (URL) On_fragment (Fragment) On_fraGment (FRAGMENT) On_fraGment (champ, last_was_value) On_header_value (touche, valeur) On_headers_commlete () On_body (Chunk) On_Message_Commlete () Exemple de httpstreamex: #! / usr / bin / env pythonimport socketFrom http_parser.http import http_parser.reader importation SockeTreaderDef Main (): s = socket.socket (socket.af_inet, socket.sock_stream) Essayez: S.Connect (('gunicorn.org', 80 )) S.Send ("Obtenir / http / 1.1 \ r \ Nhost: gunicorn.org \ r \ n \ r \ n") r = socketrader (s) p = httpstream (r) print p.Headers () Imprimer p .body_file (). Lire () Enfin: S.Close () Si __Name__ == == "__Main__": principal () Exemple de httparser: #! / USR / bin / env PythonImpport socketFrom http_parser.Parser Import HTTPPARSERDEF Main (): = Httparser () s = socket.socket (socket.af_inet, socket.sock_stream) corps = [] Essayez: S.Connect (('gunicorn.org', 80)) S.Send ("Obtenir / http / 1.1 \ r \ Nhost: gunicorn.org \ r \ n \ r \ n ") tandis que TRUE: DATA = S.RECV (1024) SI NON DONNÉES: BREAKE REVED = len (données) NPARSED = P.Execute (données, recved) affirmez NPARSED == recved si p.is_headers_complete (): Imprimer p.get_headers () si p.is_partiale_body (): corps.append (P.Recv_bydy ()) Si P.IS_MESSAGE_COMPLETE (): pause-print "" .join (corps) enfin: S.Close () Si __Name__ == "__Main__": principal () Vous pouvez trouver plus de documents dans le code (ou utiliser un générateur DOC). Exigences: · Python · Cython si vous avez besoin de reconstruire le code C


http-parser Logiciels associés