Es que lynx aunque parezca un navegador sincillo es muy completo.
No conozco ningún navegador tan pequeño.
Lo que te puedo decir es que para hacer un navegador sencillo sólo tienes que saber un protocolo que es http.
Y dentro de http tienes que saber hacer 2 cosas:
1)
Enviar una peticiónLas peticiones en http tienen esta estructura:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: nombre-cliente
[Línea en blanco]
En resumen lo que debes hacer es crear un socket TCP, conectarlo a el servidor web que especifique el usuario y por último enviar la petición http.
2)
Interpretar una respuesta.Interpretar la respuesta del servidor será un pelín mas difícil.
Tiene esta estructura:
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
<html>
<body>
<h1>Página principal de tuHost</h1>
(Contenido)
.
.
.
</body>
</html>
Si la primera linea te dice OK, entonces esta es la respuesta que queremos. Si no lo es, tenemos que enviar la petición usando otra version de http.
Ya ves que te envían cosas como la fecha(normalmente hay mas cosas). Para un navegador básico podemos ignorar todo esto y quedarnos con "Content-Length:".
A partir de eso sabes lo grande que es lo que viene a continuación.
Bien, para empezar puedes detectar con un bucle todas las tags <p> y </p> que indican que hay texto entre ellas.
Entonces imprimes por pantalla lo que hay entre todas las tags <p> y </p>.
Y con eso ya tendrias un navedor web tan simple que no puede existir algo más simple. xD
Más información en:
http://es.wikipedia.org/wiki/Hypertext_Transfer_ProtocolGuia de programación sockets C:
http://beej.us/guide/bgnet/output/html/singlepage/bgnet.htmlY otra cosa, si pillas el wireshark y te pones a capturar tráfico http aprenderás cómo funciona http en un periquete.