http-parser

Screenshot Software:
http-parser
Mga detalye ng Software:
Bersyon: 0.8.3
I-upload ang petsa: 20 Feb 15
Nag-develop: Benoit Chesneau
Lisensya: Libre
Katanyagan: 2

Rating: nan/5 (Total Votes: 0)

http-parse ay isang HTTP pang-parse ng kahilingan / tugon para sa Python sa C sa ilalim ng MIT License, batay sa http-parse mula sa Ryan Dahl.
Pag-install:
buto ng bungang-kahoy-install http-pang-parse
O i-install mula sa mapagkukunan:
Git clone ng Git: //github.com/benoitc/http-parser.git
cd http-parse && python setup.py-install
Paggamit:
http-parse magbigay sa iyo parser.HttpParser mababang antas na pang-parse sa C na maaari mong ma-access sa iyong python program at http.HttpStream nagbibigay ng access mas mataas na antas sa isang nababasa, sunud-io.RawIOBase bagay.
Upang makatulong sa iyo sa iyong araw ng trabaho, http-parse prvides kang 3 uri ng mga mambabasa na module sa reader: IterReader na basahin iterables, StringReader sa bumabasa ng mga string at StringIO bagay, SocketReader na basahin ang socket o mga bagay na may parehong isang & icirc; (Recv_into kinakailangan). Cnan mong siyempre gamitin ang anumang io.RawIOBase bagay.
Likre http-pang-parse sa C maaari mong ipasa ang iyong sariling callback sa C pang-parse, sa gayon ay maaari mo ring i-parse ang asynchronously anumang HTTP stream. Callback ay:
on_message_begin ()
on_path (landas)
on_query_string (QUERY_STRING)
on_url (url)
on_fragment (fragment)
on_header_field (na patlang, last_was_value)
on_header_value (key, halaga)
on_headers_complete ()
on_body (tigkal)
on_message_complete ()
Halimbawa ng HttpStream
hal:
#! / Usr / bin / env python
-import socket
mula sa pag-import http_parser.http HttpStream
mula sa pag-import http_parser.reader SocketReader
def pangunahing ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; subukan ang:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; r = SocketReader (mga)
& Nbsp; p = HttpStream (r)
& Nbsp; p.headers-print ()
& Nbsp;.-Print p.body_file () basahin ()
& Nbsp; sa wakas:
& Nbsp; s.close ()
kung __name__ == "__main__":
& Nbsp; main ()
Halimbawa ng HttpParser:
#! / Usr / bin / env python
-import socket
mula sa pag-import http_parser.parser HttpParser
def pangunahing ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; body = []
& Nbsp; subukan ang:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp; habang Tama:
& Nbsp; data = s.recv (1024)
& Nbsp; kung hindi data:
& Nbsp; pahinga
& Nbsp; recved = Len (data)
& Nbsp; nparsed = p.execute (data, recved)
& Nbsp; igiit ang nparsed == recved
& Nbsp; kung p.is_headers_complete ():
& Nbsp; p.get_headers-print ()
& Nbsp; kung p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; kung p.is_message_complete ():
& Nbsp; pahinga
& Nbsp; print "" .join (katawan)
& Nbsp; sa wakas:
& Nbsp; s.close ()
kung __name__ == "__main__":
& Nbsp; main ()
. Maaari mong mahanap ang higit pang mga doc sa code (o gumamit ng doc genererator)

Mga Kinakailangan :

  • Python
  • Cython kung kailangan mo upang muling itayo ang C code

Iba pang mga software developer ng Benoit Chesneau

Restkit
Restkit

5 Jun 15

fserve
fserve

11 May 15

hroute
hroute

11 May 15

Mga komento sa http-parser

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!