http-parser

ภาพหน้าจอของซอฟแวร์:
http-parser
รายละเอียดซอฟแวร์:
รุ่น: 0.8.3
วันที่อัพโหลด: 20 Feb 15
ผู้พัฒนา: Benoit Chesneau
การอนุญาต: ฟรี
ความนิยม: 2

Rating: nan/5 (Total Votes: 0)

http-แยกวิเคราะห์เป็นคำขอ HTTP / แยกวิเคราะห์การตอบสนองสำหรับหลามใน C ภายใต้ใบอนุญาต MIT บนพื้นฐาน http-แยกวิเคราะห์จากไรอันดาห์ล
การติดตั้ง:
PIP ติดตั้ง http-parser
หรือติดตั้งจากที่มา:
โคลนคอมไพล์คอมไพล์: //github.com/benoitc/http-parser.git
cd-http parser && หลาม setup.py ติดตั้ง
การใช้งาน:
http-parser ให้คุณ parser.HttpParser แยกวิเคราะห์ในระดับต่ำใน C ที่คุณสามารถเข้าถึงในโปรแกรมหลามของคุณและ http.HttpStream ให้การเข้าถึงระดับที่สูงขึ้นเพื่ออ่านวัตถุ io.RawIOBase ลำดับ
เพื่อช่วยให้คุณในการทำงานวันของคุณ prvides http-parser คุณ 3 ชนิดของผู้อ่านในโมดูลผู้อ่าน: IterReader การอ่าน iterables, StringReader เพื่ออ่านสตริงและวัตถุ StringIO, SocketReader การอ่านซ็อกเก็ตหรือวัตถุที่มีเดียวกัน & icirc; (จำเป็น recv_into) คุณ CNan แน่นอนใช้วัตถุใด ๆ io.RawIOBase
Likre http-parser ใน C คุณสามารถผ่านการเรียกกลับของคุณเองเพื่อ parser C เพื่อให้คุณในที่สุดก็สามารถแยกถ่ายทอดสดสตรีม HTTP ใด ๆ Callbacks คือ:
on_message_begin ()
on_path (เส้นทาง)
on_query_string (QUERY_STRING)
on_url (URL)
on_fragment (ส่วน)
on_header_field (สนาม last_was_value)
on_header_value (คีย์, ค่า)
on_headers_complete ()
on_body (ก้อน)
on_message_complete ()
ตัวอย่างของการ HttpStream
อดีต:
#! / usr / bin / หลาม env
ซ็อกเก็ตนำเข้า
จากการนำเข้า http_parser.http HttpStream
จากการนำเข้า http_parser.reader SocketReader
def หลัก ():
& nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& nbsp; ลอง:
& 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 พิมพ์ ()
& nbsp;. p.body_file พิมพ์ () อ่าน ()
& nbsp; ที่สุด:
& nbsp; s.close ()
ถ้า __name__ == "__main__":
& nbsp; หลัก ()
ตัวอย่างของการ HttpParser:
#! / usr / bin / หลาม env
ซ็อกเก็ตนำเข้า
จากการนำเข้า http_parser.parser HttpParser
def หลัก ():
& nbsp; p = HttpParser ()
& nbsp; s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& nbsp; ร่างกาย = []
& nbsp; ลอง:
& nbsp; s.connect (('gunicorn.org', 80))
& nbsp; s.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& nbsp; ในขณะที่ทรู
& nbsp; ข้อมูล = s.recv (1024)
& nbsp; หากไม่ได้รับข้อมูล:
& nbsp; พัก
& nbsp; recved = len (ข้อมูล)
& nbsp; nparsed = p.execute (ข้อมูล recved)
& nbsp; ยืนยัน == nparsed recved
& nbsp; ถ้า p.is_headers_complete ():
& nbsp; p.get_headers พิมพ์ ()
& nbsp; ถ้า p.is_partial_body ():
& nbsp; body.append (p.recv_body ())
& nbsp; ถ้า p.is_message_complete ():
& nbsp; พัก
& nbsp; พิมพ์ "" .join (ร่างกาย)
& nbsp; ที่สุด:
& nbsp; s.close ()
ถ้า __name__ == "__main__":
& nbsp; หลัก ()
. คุณสามารถค้นหาเอกสารเพิ่มเติมในรหัส (หรือใช้ genererator DOC)

ต้องการ

  • หลาม
  • Cython ถ้าคุณต้องการที่จะสร้างรหัส C

ซอฟแวร์อื่น ๆ ของนักพัฒนา Benoit Chesneau

tproxy
tproxy

12 May 15

Couchapp
Couchapp

14 Apr 15

Restkit
Restkit

5 Jun 15

ความคิดเห็นที่ http-parser

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!