2010-04-11 8 views
26

Ich suche nach HTTP-Parsing-Bibliothek für C/C++. Ich habe Curl-Bibliothek geschaut, aber es scheint, dass es eine http-Client-Bibliothek ist. Ich bin auf der Suche nach einer Bibliothek, die HTTP-Header analysiert (z. B. einen Weg zu erhalten Sie die Abfrage-Zeichenfolge, erhalten Sie Cookie, Request-URL, Post-Daten erhalten)?Empfehlung für eine HTTP-Parsing-Bibliothek in C/C++

Vielen Dank.

+0

Schreiben Sie einen Webserver oder ein Plugin oder ein CGI-Programm? Werden Sie wirklich rohe HTTP- oder 'Cooked'-Header erhalten? –

+0

Raw HTTP-Header. Ich muss übergeben, was ich von einem Sockel gelesen habe und die HTTP-Header-Dateien analysieren. – michael

+0

* "Fragen, die uns bitten, ein Tool, eine Bibliothek oder eine bevorzugte externe Ressource zu empfehlen oder zu finden, sind für Stack Overflow off-topic, da sie dazu neigen, eigensinnige Antworten und Spam zu erhalten." * – abelenky

Antwort

10

Check out libebb, eine parser mit Ragel mit der einfache, aber leistungsfähige PEG erzeugt hat (es basiert auf Zed Shaw Mischlings Parser)

libebb eine leichte HTTP-Server-Bibliothek für C ist es die Stiftung legt einen Web-Server zum Schreiben der Buchse Jonglier und Anfrage-Parsing, indem. Durch Implementieren der HTTP/1.1-Grammatik, die in RFC2612 bereitgestellt wird, versteht libebb die meisten gültigen HTTP/1.1-Verbindungen (permanente, Pipeline- und Chunked-Anforderungen enthalten) und weist ungültige oder böswillige Anforderungen zurück. libebb unterstützt SSL über HTTP.

Auch this speedy parser

+3

HTTP-Parser wurde hierher verschoben. [https://github.com/joyent/http-parser](https://github.com/joyent/http-parser) – douyw

+0

libebb Quellcode ist hier -> https://github.com/taf2/liebb/ – ParokshaX

+0

Ich wünschte, es gäbe einen guten, schnell geschriebenen In-Situ-Parser für HTTP. – Lothar

13

Vor etwa 6 Monaten suchte ich genau die gleiche Sache. Dann fand ich diese Seite: HTTP Made Really Really Easy und ich schrieb nur meine eigene ... Funktioniert prima, überraschend einfach zu implementieren ...

+10

Einfach, wenn es Ihnen egal ist alle Ecken Fälle richtig. Mehrzeilige Statuscodes, Escape-Zeichen, internationale Zeichenfolgen. –

+1

Wahr genug. War für meine Verwendung nicht wichtig ... – dicroce

+0

Es ist sechs Jahre her, seit dieser Kommentar gemacht wurde. Jetzt suche ich nach http Parser in c für mein eingebettetes System. Ich bin knapp bei den Systemressourcen. @dicroce Wie war Ihre Erfahrung mit Ihrem eigenen http-Parser? Sollte ich meine eigene schreiben oder jemand anderes verwenden. – abhiarora

Verwandte Themen