2010-04-11 13 views
26

Estoy buscando la biblioteca de análisis HTTP para C/C++. He buscado la biblioteca de curl, pero parece que es una biblioteca de cliente http. Estoy buscando una biblioteca que analiza el encabezado HTTP (por ejemplo, una forma de obtener la cadena de consulta, obtener cookies, obtener url de solicitud, obtener datos de publicación)?Recomendación para una biblioteca de análisis HTTP en C/C++

Gracias.

+0

¿Está escribiendo un servidor web o un programa de complemento o cgi? es decir, ¿realmente vas a recibir encabezados HTTP crudos o "cocinados"? –

+0

Encabezados HTTP sin procesar. Necesito pasar lo que leo de un socket y analizar los archivos de encabezado http. – michael

+0

* "Las preguntas que nos piden que recomiendemos o busquemos una herramienta, una biblioteca o un recurso favorito fuera del sitio están fuera del tema de Stack Overflow ya que tienden a atraer respuestas obstinadas y spam." * – abelenky

Respuesta

10

Salida libebb, tiene una parser generado con Ragel utilizando el sencillo pero potente PEG (que está basado en analizador mestizo de Zed Shaw)

libebb es una biblioteca de servidor HTTP ligero para C. se sienta las bases para escribir un servidor web, proporcionando los malabares toma y la solicitud de análisis. Al implementar la gramática HTTP/1.1 proporcionada en RFC2612, libebb comprende la mayoría de las conexiones HTTP/1.1 más válidas (solicitudes persistentes, segmentadas y fragmentadas incluidas) y rechaza las solicitudes no válidas o maliciosas de . libebb es compatible con SSL a través de HTTP.

también comprobar this speedy parser

+3

http parser se mudó aquí. [https://github.com/joyent/http-parser](https://github.com/joyent/http-parser) – douyw

+0

El código fuente de libebb está aquí -> https://github.com/taf2/libebb/ – ParokshaX

+0

Desearía que hubiera un buen analizador sintáctico rápido y escrito a mano para HTTP. – Lothar

13

Hace alrededor de 6 meses, estaba buscando exactamente lo mismo. Entonces me encontré con esta página: HTTP Made Really Really Easy y que acabo de escribir mi propia ... Funciona muy bien, sorprendentemente fácil de implementar ...

+10

Simple, si no te importa obtener todos los casos de esquina están correctos. Códigos de estado de varias líneas, caracteres de escape, cadenas internacionales. –

+1

Cierto. No importó para mi uso ... – dicroce

+0

Han pasado seis años desde que se hizo este comentario. Ahora, estoy buscando el analizador http en c para mi sistema integrado. Estoy ajustado a los recursos del sistema. @dicroce cómo fue tu experiencia con tu propio analizador http. ¿Debo escribir el mío o usar el de otra persona? – abhiarora

Cuestiones relacionadas