http-parser

البرمجيات قطة:
http-parser
تفاصيل البرنامج:
الإصدار: 0.8.3
تاريخ إيداع: 20 Feb 15
المطور: Benoit Chesneau
ترخيص: حرر
شعبية: 16

Rating: nan/5 (Total Votes: 0)

وHTTP-محلل هو محلل طلب HTTP / استجابة لبيثون في C تحت MIT الترخيص، بناء على http-محلل من ريان دال.
التركيب:
PIP تثبيت HTTP-محلل
أو تثبيت من مصدر:
بوابة استنساخ بوابة: //github.com/benoitc/http-parser.git
مؤتمر نزع السلاح HTTP-محلل && الثعبان setup.py تثبيت
الاستعمال:
HTTP-محلل توفر لك parser.HttpParser على مستوى منخفض محلل في C التي يمكنك الوصول إليها في برنامج بيثون الخاص بك وhttp.HttpStream توفير فرص الحصول على مستوى أعلى ل، وجوه io.RawIOBase متتابعة قابل للقراءة.
لمساعدتك في عملك اليوم، HTTP-محلل prvides أنت 3 نوع من القراء في وحدة قارئ: IterReader لقراءة iterables، StringReader ليقرأ سلاسل وأشياء StringIO، SocketReader لقراءة مآخذ أو الكائنات مع نفسه وicirc. (حاجة recv_into). كنت cnan بالطبع استخدام أي كائن io.RawIOBase.
Likre HTTP-محلل في C يمكنك تمرير الاسترجاعات الخاصة بك إلى محلل C، حتى تتمكن من تحليل في نهاية المطاف بشكل غير متزامن أي تيار HTTP. الاسترجاعات هي:
on_message_begin ()
on_path (مسار)
on_query_string (QUERY_STRING)
on_url (رابط)
on_fragment (جزء)
on_header_field (حقل، last_was_value)
on_header_value (الرئيسية، قيمة)
on_headers_complete ()
on_body (قطعة)
on_message_complete ()
مثال HttpStream
مثلا:
#! / البيرة / بن / الحياة الفطرية الثعبان
مقبس استيراد
من http_parser.http استيراد HttpStream
من http_parser.reader SocketReader استيراد
مواطنه الرئيسية ():
ونبسب؛ ق = socket.socket (socket.AF_INET، socket.SOCK_STREAM)
على & nbsp؛ في محاولة:
على & nbsp؛ s.connect (('gunicorn.org، 80))
على & nbsp؛ s.send ("GET / HTTP / 1.1 ص nHost: gunicorn.org ص ن ص ن")
على & nbsp؛ ص = SocketReader (ق)
على & nbsp؛ ع = HttpStream (ص)
على & nbsp؛ p.headers الطباعة ()
على & nbsp؛. p.body_file الطباعة () قراءة ()
على & nbsp؛ أخيرا:
على & nbsp؛ s.close ()
إذا __name__ == "__main__":
على & nbsp؛ الرئيسية ()
مثال HttpParser:
#! / البيرة / بن / الحياة الفطرية الثعبان
مقبس استيراد
من http_parser.parser استيراد HttpParser
مواطنه الرئيسية ():
على & nbsp؛ ع = HttpParser ()
ونبسب؛ ق = socket.socket (socket.AF_INET، socket.SOCK_STREAM)
على & nbsp؛ الجسم = []
على & nbsp؛ في محاولة:
على & nbsp؛ s.connect (('gunicorn.org، 80))
على & nbsp؛ s.send ("GET / HTTP / 1.1 ص nHost: gunicorn.org ص ن ص ن")
على & nbsp؛ في حين صحيح:
على & nbsp؛ البيانات = s.recv (1024)
& nbsp؛ إذا لم البيانات:
على & nbsp؛ كسر
على & nbsp؛ recved = ليون (البيانات)
على & 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 وثيقة)

المتطلبات:.

بيثون
Cython إذا كنت بحاجة إلى إعادة رمز C

البرامج الأخرى من المطور Benoit Chesneau

fserve
fserve

11 May 15

tproxy
tproxy

12 May 15

http-parser
http-parser

12 May 15

تعليقات ل http-parser

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!