http-analizador

Solicitud de HTTP / analizador de respuesta
Descargar ahora

http-analizador Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Nombre del editor:
  • Benoit Chesneau
  • Sitio web del editor:
  • http://code.google.com/u/bchesneau/

http-analizador Etiquetas


http-analizador Descripción

solicitud HTTP / analizador de respuesta http-analizador es un analizador de solicitud / respuesta HTTP para Python en C bajo licencia MIT, basado en http-analizador de Ryan Dahl.Installation: pip instalar http-parserOr instalación de la fuente: git clone git: //github.com/benoitc/ http-parser.gitcd http-analizador pitón setup.py installUsage: http-analizador que proporcionan parser.HttpParser analizador de bajo nivel en C que se puede acceder en su programa de Python y http.HttpStream proporcionar acceso de alto nivel a un legible, secuencial io.RawIOBase object.To ayudarle en su trabajo diario, http-analizador le prvides 3 tipos de lectores en el módulo lector: IterReader a leer iterables, StringReader que lee cadenas y objetos StringIO, SocketReader para leer los zócalos u objetos con el mismo Ai (recv_into necesario). Usted CNAN de uso supuesto cualquier io.RawIOBase object.Likre http-analizador en C puede pasar sus propias devoluciones de llamada al analizador C, por lo que puede, finalmente, de análisis de forma asíncrona cualquier flujo HTTP. Devoluciones de llamada son: on_message_begin () on_path (ruta) on_query_string (query_string) on_url (url) on_fragment (fragmento) on_header_field (campo, last_was_value) on_header_value (clave, valor) on_headers_complete () on_body (fragmento) on_message_complete () Ejemplo de HttpStreamex: #! / usr / bin / env pythonimport socketfrom http_parser.http importación HttpStreamfrom http_parser.reader importación SocketReaderdef main (): s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) Proveedores: s.connect (( 'gunicorn.org', 80 )) s.send ( "GET / HTTP / 1.1 \ r \ nHost: gunicorn.org \ r \ n \ r \ n") r = SocketReader (s) p = HttpStream (r) p.headers de impresión () print p .body_file () read () Por último:. s.close () si __name__ == "__main__": main () Ejemplo de HttpParser: #! / usr / bin / env pythonimport socketfrom http_parser.parser importar HttpParserdef main (): p = HttpParser () s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) cuerpo = [] intentar: s.connect (( 'gunicorn.org', 80)) s.send ( "GET / HTTP / 1.1 \ r \ nHost: gunicorn.org \ r \ n \ r \ n ") mientras que la verdadera: datos = s.recv (1024) si no datos: rotura recved = len (datos) nparsed = p.execute (datos, recved) afirman nparsed == recved si p.is_headers_complete (): p.get_headers de impresión () si p.is_partial_body (): body.append (p.recv_body ()) si p.is_message_complete (): print break "" .join (cuerpo) por último: s.close () si __name__ == "__main__": main () puede encontrar más documentos en el código (o utilizar un genererator doc). Requisitos: · Python · Cython si es necesario para reconstruir el código C


http-analizador Software relacionado