http-parser

Yazılım ekran görüntüsü:
http-parser
Yazılım detaylar:
Versiyon: 0.8.3
Qayıt: 20 Feb 15
Geliştirici: Benoit Chesneau
Lisans: Ücretsiz
Popülerlik: 16

Rating: nan/5 (Total Votes: 0)

http-ayrıştırıcı Ryan Dahl dan http-ayrıştırıcı dayalı, MİT Lisansı altında C Python için bir HTTP istek / yanıt ayrıştırıcı.
Kurulum:
install pip http-ayrıştırıcı
Ya da kaynak yükleyin:
git clone git: //github.com/benoitc/http-parser.git
cd http-ayrıştırıcı && piton setup.py install
Kullanım:
http-ayrıştırıcı size Python programında erişebilirsiniz C parser.HttpParser düşük seviye ayrıştırıcı sağlamak ve http.HttpStream okunabilir, sıralı io.RawIOBase nesnesine üst düzey erişim sağlayan.
Okuyucu modülü http-ayrıştırıcı prvides size okuyucuların 3 çeşit, gününüzü iş size yardımcı olmak için: IterReader Iterables okumak için, StringReader dizeleri ve StringIO nesneleri okur, SocketReader aynı a & icirc ile yuva veya nesneleri okumak için; (Recv_into gerekli). Herhangi io.RawIOBase nesnesini kullanmak elbette cnan.
Likre http-ayrıştırıcı sonunda zaman uyumsuz herhangi bir HTTP akışı ayrıştırmak böylece, C çözümleyici kendi geri aramalar iletebilirsiniz C. Geri aramalar şunlardır:
on_message_begin ()
on_path (yol)
on_query_string (query_string)
on_url (url)
on_fragment (fragmanı)
on_header_field (alan, last_was_value)
on_header_value (anahtar, değer)
on_headers_complete ()
on_body (yığın)
on_message_complete ()
HttpStream Örnek
ex:
#! / Usr / bin / env python
ithalat soketi
http_parser.http import HttpStream
http_parser.reader ithalat SocketReader gelen
def ana ():
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; deneyin:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n ")
& Nbsp, r = SocketReader (lar)
& Nbsp s = HttpStream (r)
& Nbsp; baskı p.headers ()
& Nbsp;. Baskı p.body_file () read ()
& Nbsp; nihayet:
& Nbsp; s.close ()
eğer __name__ == "__main__":
& Nbsp; ana ()
HttpParser Örnek:
#! / Usr / bin / env python
ithalat soketi
http_parser.parser import HttpParser
def ana ():
& Nbsp; p = HttpParser ()
& Nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp; vücut = []
& Nbsp; deneyin:
& Nbsp; s.connect (('gunicorn.org', 80))
& Nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n ")
& Nbsp; Doğru ise:
& Nbsp; data = s.recv (1024)
& Nbsp; değilse veriler:
& Nbsp; molası
& Nbsp; recved = len (veri)
& Nbsp; nparsed = p.execute (veri, recved)
& Nbsp; recved nparsed == iddia
Ve nbsp, eğer p.is_headers_complete ():
& Nbsp; baskı p.get_headers ()
Ve nbsp, eğer p.is_partial_body ():
& Nbsp; body.append (p.recv_body ())
Ve nbsp, eğer p.is_message_complete ():
& Nbsp; molası
& Nbsp; print "" .join (vücut)
& Nbsp; nihayet:
& Nbsp; s.close ()
eğer __name__ == "__main__":
& Nbsp; ana ()
. Siz kodu daha fazla dokümanlar bulmak (veya bir doc genererator kullanabilirsiniz) olabilir

Gereksinimler :

  • Python
  • Cython C kodu yeniden gerekiyorsa

Geliştirici Diğer yazılım Benoit Chesneau

hroute
hroute

11 May 15

tproxy
tproxy

12 May 15

Restkit
Restkit

5 Jun 15

Yorumlar http-parser

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!