http-parser

Software screenshot:
http-parser
Software ətraflı:
Version: 0.8.3
Tarixi Upload: 20 Feb 15
Geliştirici: Benoit Chesneau
Lisenziya: Pulsuz
Məşhurluq: 2

Rating: nan/5 (Total Votes: 0)

http-parser Ryan Dahl-dən http-parser əsasında MİT License C Python üçün HTTP sorğu / cavab parser edir.
Quraşdırma:
bərpa Pip http-parser
Və ya mənbədən bərpa edin:
git klon git: //github.com/benoitc/http-parser.git
cd http-parser && python bərpa setup.py
istifadə:
http-parser sizin python proqramı əldə edə bilərsiniz C parser.HttpParser aşağı səviyyədə parser təmin edir və http.HttpStream bir oxunaqlı, ardıcıl io.RawIOBase obyekt yüksək səviyyəli girişi təmin.
Oxucu modul http-parser prvides siz oxucuların 3 növ, sizin gün iş sizə yardım etmək üçün: IterReader iterables oxumaq, StringReader strings və StringIO obyektləri deyilir, SocketReader eyni a & icirc ilə sockets və ya obyektlərin oxumaq; (Recv_into lazım). Siz hər hansı bir io.RawIOBase obyekt istifadə əlbəttə cnan.
Likre http-parser nəticədə asynchronously hər hansı bir HTTP axın analiz edə bilər, belə ki, C parser öz callbacks keçə bilər C. Callbacks var:
on_message_begin ()
on_path (yol)
on_query_string (query_string)
on_url (url)
on_fragment (fraqment)
on_header_field (sahəsində, last_was_value)
on_header_value (əsas, dəyəri)
on_headers_complete ()
on_body (yığın)
on_message_complete ()
HttpStream nümunəsi
ex:
#! / Usr / bin / ENV python
idxal socket
http_parser.http idxal HttpStream
http_parser.reader idxal SocketReader dən
def main ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; cəhd edin:
& 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; print p.headers ()
& Nbsp;. Print p.body_file () oxumaq ()
& Nbsp; nəhayət:
& Nbsp; s.close ()
Əgər __name__ == "__main__":
& Nbsp; main ()
HttpParser nümunəsi:
#! / Usr / bin / ENV python
idxal socket
http_parser.parser idxal HttpParser
def main ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; bədən = []
& Nbsp; cəhd edin:
& Nbsp; s.connect ((gunicorn.org, 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n ")
& Nbsp; True isə:
& Nbsp; data = s.recv (1024)
& Nbsp; əgər məlumat:
& Nbsp; break
& Nbsp; recved = len (data)
& Nbsp; nparsed = p.execute (data, recved)
& Nbsp; recved nparsed == müdafiə
& Nbsp; əgər p.is_headers_complete ():
& Nbsp; print p.get_headers ()
& Nbsp; əgər p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
& Nbsp; əgər p.is_message_complete ():
& Nbsp; break
& Nbsp; print "" .join (orqan)
& Nbsp; nəhayət:
& Nbsp; s.close ()
Əgər __name__ == "__main__":
& Nbsp; main ()
. Siz kodu daha docs tapmaq (və ya doc genererator istifadə) edə bilərsiniz

tələblər

  • Python
  • Cython C kodu yenidən lazımdır, əgər

Geliştirici digər proqram Benoit Chesneau

http-parser
http-parser

12 May 15

fserve
fserve

11 May 15

tproxy
tproxy

12 May 15

Şərh http-parser

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!