HTTP-PARSER.

HTTP-Anforderung / Antwort-Parser
Jetzt downloaden

HTTP-PARSER. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Name des Herausgebers:
  • Benoit Chesneau
  • Website des Verlags:
  • http://code.google.com/u/bchesneau/

HTTP-PARSER. Stichworte


HTTP-PARSER. Beschreibung

HTTP-Anforderung / Antwort-Parser HTTP-PARSER ist ein HTTP-Anforderungs- / Antwortparser für Python in C unter Mitlizenz, basierend auf dem HTTP-Parser von RYAN DAHL.Installation: PIP Installieren Sie den HTTP-Parseror installieren von Quellquelle: Git Clone Git: //github.com/benoitc/ http-pareser.gitcd HTTP-PARSER PYTHON SETUP.PY-Installation: HTTP-PARSER Geben Sie dem PARSER.HTTPARSER-Low-Level-Parser in c an, auf den Sie auf Ihr Python-Programm zugreifen können, und http.httpstream, der einen übergeordneten Zugriff auf einen lesbaren, sequentiellen Bereich bietet io.rawiobase-Object.Un, um Ihnen bei der Arbeit zu helfen (Recv_into erforderlich). Sie verwenden natürlich jedes io.rawiobase object.likre-HTTP-PARSER in C Sie können Ihre eigenen Rückrufe an den C-Parser weitergeben, sodass Sie asynchron asynchron jeder HTTP-Stream analysieren können. Callbacks sind: on_message_begin () on_path (path) on_query_string (query_string) on_url (url) ont_fragment (Fragment) ont_header_field (Feld, last_was_value) ont_header_Value (Schlüssel, Wert) on_header_complete (Schlüssel, Wert) on_headers_complete () On_body (Chunk) On_Message_Complete () Beispiel für httpstreamex: #! / usr / bin / env pythonimport socknetfrom http_parser.http import httpstreamvon http_parser.Reader Import SocketreaderDef Main (): s = socket.socket (socket.af_inet, socket.sock_stream) Versuchen Sie: s.connect (('gunicorn.org', 80 )) S.SEND ("GET / HTTP / 1.1 \ r \ nhost: gunicorn.org \ r \ n \ r \ n") R = SocketReader (S) P = httpstream (R) drucken p.eader () drucken p .body_file (). Lesen () Zum Schluss: S.Close () Wenn __Name__ == "__main__": Haupt () Beispiel von htttparser: #! / usr / bin / env pythonimport socknetevon http_parser.parser Import htttparserdef main (): p = Htttparser () s = socknet.socket (socket.af_inet, socket.sock_stream) body = [] Versuchen Sie: s.connect (('gunicorn.org', 80)) s.send ("Get / http / 1.1 \ r \ nhost: gunicorn.org \ r \ n \ r \ n ") Während true: data = s.recv (1024) Wenn nicht Daten: len (data) nParSed = p.execute (Daten, ausgewiesen) Assert NPARSED ==, wenn p.is_headers_compete (): drucken p.get_header (), wenn p.is_partial_body (): body.append (p.recv_body ()), wenn P.IS_Message_Complete (): Pause Print "" Anforderungen: · Python · Cython Wenn Sie den C-Code neu erstellen müssen


HTTP-PARSER. Zugehörige Software