http-parser

Tela Software:
http-parser
Detalhes de Software:
Versão: 0.8.3
Data de upload: 20 Feb 15
Revelador: Benoit Chesneau
Licença: Livre
Popularidade: 2

Rating: nan/5 (Total Votes: 0)

http-parser é um analisador de pedido / resposta HTTP para Python em C sob licença MIT, com base em http-parser de Ryan Dahl.
Instalação:
pip instalar http-parser
Ou instalar a partir de fonte:
git git clone: ​​//github.com/benoitc/http-parser.git
cd http-parser && python setup.py instalar
Uso:
http-parser fornecer-lhe parser.HttpParser parser de baixo nível em C que você pode acessar em seu programa de python e http.HttpStream fornecimento de acesso de nível superior para a, seqüencial objeto io.RawIOBase legível.
Para ajudá-lo no seu trabalho do dia, http-parser prvides-lhe 3 tipos de leitores no módulo leitor: IterReader para ler iterables, StringReader para lê cordas e objetos StringIO, SocketReader para ler sockets ou objetos com o mesmo a & icirc; (Recv_into necessário). Você CNAN, claro, usar qualquer objeto io.RawIOBase.
Likre http-parser em C você pode passar as suas próprias chamadas de retorno para o analisador C, para que possa, eventualmente, analisar de forma assíncrona qualquer fluxo de HTTP. As chamadas de retorno são:
on_message_begin ()
on_path (path)
on_query_string (query_string)
on_url (url)
on_fragment (fragmento)
on_header_field (campo, last_was_value)
on_header_value (chave, valor)
on_headers_complete ()
on_body (pedaço)
on_message_complete ()
Exemplo de HttpStream
ex:
#! / Usr / bin / env python
Tomada de importação
de importação http_parser.http HttpStream
de http_parser.reader importação SocketReader
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; tentar:
& 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 Imprimir ()
& Nbsp;. Print p.body_file () ler ()
& Nbsp; por fim:
& Nbsp; s.close ()
se __name__ == "__main__":
& Nbsp; main ()
Exemplo de HttpParser:
#! / Usr / bin / env python
Tomada de importação
de importação http_parser.parser HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; tentar:
& 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; de dados = s.recv (1024)
& Nbsp; se não dados:
& Nbsp; pausa
& Nbsp; recved = len (dados)
& Nbsp; nparsed = p.execute (dados, recved)
& Nbsp; afirmam == nparsed recved
& Nbsp; se p.is_headers_complete ():
& nbsp; p.get_headers Imprimir ()
& Nbsp; se p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; se p.is_message_complete ():
& Nbsp; pausa
& Nbsp; print "" .join (corpo)
& Nbsp; por fim:
& Nbsp; s.close ()
se __name__ == "__main__":
& Nbsp; main ()
. Você pode encontrar mais docs no código (ou usar um genererator doc)

Requisitos :

  • Python
  • Cython se você precisa para reconstruir o código C

Outro software de desenvolvedor Benoit Chesneau

http-parser
http-parser

12 May 15

tproxy
tproxy

12 May 15

fserve
fserve

11 May 15

Comentário para http-parser

Comentários não encontrado
Adicionar comentário
Ligue imagens!