Ejemplo Servidor/Cliente Web Linux

Vereis me han comentado que se puede encontrar por internet ejemplos de servidores y clientes sencillos web en C. Yo por mas que busco no encuentro nada, haber si alguien me dice donde puedo pillarlo. Gracias por adelantado.
Clientes/servidores web ni idea, pero al menos aqui tienes un manual donde hay ejemplillos senzillos http://www.arrakis.es/~dmrq/beej.

Por otro lado, si quieres implementar un servidor/cliente web mas vale que busques la especificacion del protocolo HTTP

Salu2
En realidad lo que estoy buscando es un cliente que lanze una consulta al la rae (real academia española) y esta me devuelva la definicion de una palabra que quiero buscar y la pinte por pantalla, si alguien tiene alguna idea como orientarme con ejemplos y eso os lo agracederia.
No veo qué tiene que ver esto con el Software Libre
RiP3r escribió:En realidad lo que estoy buscando es un cliente que lanze una consulta al la rae (real academia española) y esta me devuelva la definicion de una palabra que quiero buscar y la pinte por pantalla, si alguien tiene alguna idea como orientarme con ejemplos y eso os lo agracederia.


¿No hizo el JoíoFriki un script para eso mismo? No es una aplicación, pero te sirve para eso mismo. Busca por rae o drae... Saludos.

P.D. Pues anda que te has explicado bien en el primer mensaje :-p.
A mi me suena a que tiene que hacer una práctica que haga eso :)
Si la verdad que muy bien no me explique...
Bueno he buscado por eso que me cuentas gooler y no he encontrado nada, tambien busque por el usuario JoíoFriki y tampoco, asi que sigo abierto a sugerencias donde pueda pillar algo de informacion sobre como hacerlo.



PD: Ferdy sea para lo que sea yo solo busco informacion, sino quieres participar no lo hagas pero no entres para joder el hilo.
No te has matado a buscar ehh :Ð . Aquí está el hilo, que era de Hades, no de FuckingFreaky (lo de Joíofriki es una tontá marca de la casa [+risas] ) y creo que tampoco es suyo el script, sino que estaba disponible en la web de la RAE.

Ferdy, si es el caso que pones, realmente peor para él pero cada uno sabe lo que se hace.

Saludos.
Bueno la duda me asalta al hacerlo en C con sockets, ya que a la hora de hacer el write (una vez ya tengo entablada la conexion con el servidor) no se que mandarle al servidor para que este me vaya devolviendo la pagina en crudo.

write(sockfd, "GET  HTTP/1.1", 169);


Lo del GET y HTTP1.1 irian a principio y final y es un suponer mio xD.
RiP3r escribió:Bueno la duda me asalta al hacerlo en C con sockets, ya que a la hora de hacer el write (una vez ya tengo entablada la conexion con el servidor) no se que mandarle al servidor para que este me vaya devolviendo la pagina en crudo.

Cafetino escribió:Por otro lado, si quieres implementar un servidor/cliente web mas vale que busques la especificacion del protocolo HTTP
PD: Ferdy sea para lo que sea yo solo busco informacion, sino quieres participar no lo hagas pero no entres para joder el hilo.


No, porque si no tiene que ver con el Software Libre, no tiene cabida aquí.

Por otro lado ese código que pones está CASI bien. Leete el RFC 2616 para saber cómo hacerlo

HTH, HAND
Ferdy escribió:HTH, HAND


que significa ese acronimo ferdy? me he quedado con la duda...

con respecto al creador del hilo, ¡STFW!

por cierto, lo que pretendes hacer no es soft libre, ahora, que si nos dices que luego lo que hagas lo vas a liberar bajo GPL quizas nos los tomemos un poco en serio... [sati]
Significa Hope This Helps, Have A Nice Day

http://www.catb.org/jargon/

Saludos.Ferdy
Ferdy escribió:No, porque si no tiene que ver con el Software Libre, no tiene cabida aquí.

Aparte que en fecha de exámenes curiosamente suelen aparecer preguntas parecidas. [toctoc]
Aparte que en fecha de exámenes curiosamente suelen aparecer preguntas parecidas.


Exacto... y cosas de programación en C las hemos resuelto aquí más de una vez sin problemas; y de hecho ha habido algún que otro hilo interesante a raíz de estas.

Lo que no puede ser es esperar que hagamos la práctica / trabajo / loquesea.

Saludos.Ferdy
Bueno os sigo comentando

   write(sock,"GET /d [url]http://buscon.rae.es/draeI/SrvltGUIBus[/url] Usual?TIPO_HTML= 2&LEMA=para HTTP/ 1.1/\r\n\r", 81);

Esa es la lina que le mando al servidor una vez esta entablada la conexion, es la variable LEMA la que contiene la palabra a buscar pero no se produce respuesta del servidor, ya me lei el rfc del html y no encuentro la solucion. Si alguien sabe que puede ser le estaria agradecido.
Esa consulta está mal. Lee bien el RFC:

[ $ ~ ] rm respuesta
[ $ ~ ] nc buscon.rae.es 80 << EOR > respuesta
> GET /draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=libro HTTP/1.1
> HOST: buscon.rae.es
>
> EOR
[ $ ~ ] wc -l respuesta
12 respuesta


Como ves, funciona perfectamente.

Saludos.Ferdy
Weno ya he conseguido que me devuelva la pagina. xD Aqui lo pongo por si alguien lo necesita
   write(sockfd, "POST /draeI/SrvltGUIBusUsual HTTP/1.1\r\nHost: buscon.rae.es\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8) Gecko/20051111 Firefox/1.5\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\nReferer: [url]http://buscon.rae.es/diccionario/cabecera.htm\r\nContent-Type:[/url] application/x-www-form-urlencoded\r\nContent-Length: 22\r\n\r\nLEMA=libro&TIPO_BUS=3",580);

Es un poco tocho pero es lo que hay. Ahora necesito sacar la definicion de una forma bonita.
17 respuestas