Recurro a ustedes para que me ayuden. El problema es el siguiente:
He programado, en C (bajo Linux), una aplicacioón que se conecta, mediante Sockets, a un servidor Web y le envía una petición GET (protocolo HTTP) para que me pase el contenido de un archivo y yo lo guardo en un buffer.
Mi problema es que no se cómo sacar de ese buffer la respuesta del servidor http ("HTTP/1.1 OK\nAccept: [...]") para que quede solo el contenido del archivo.
La parte del código que envía la solicitud con GET y luego guarda la respuesta en un buffer es la sgte.:
Código
//... char buffer[1452]; char data[] = "GET /pag.html HTTP/1.1\n" "Host: www.paginaweb.com\n" "User-Agent: Mozilla/4.0\n\n"; recv(sock, buffer, 1452, 0);
Como ya expliqué, envía una petición HTTP y el servidor le envía el contenido del archivo que requirió (pag.html) pero el problema es que en buffer junto con el contenido del archivo se guarda también la respuesta HTTP porque lo envía todo junto:
Por ejemplo: buffer:
Código:
HTTP/1.1 OK
Content-Length: 145233
Accept: arch...
Content-Type: ....
Aquí empiezar el contenido del archivo...bla bla bla
ASDadasdasdasd
Quisiera saber qué funciones podría utilizar para sacar de buffer la respuesta HTTP y que me quede solo el contenido del archivo.
Gracias de antemano!