tu fais une connection à l'hote www.google.fr sur le port 80 (port classique pour http)
si tu veux faire un essai tu fais : "telnet www.google.fr 80"
ensuite il te dit :
Trying 64.233.167.99...
Connected to www.google.fr.
Escape character is '^]'.
ensuite tu tapes : "GET /about.html HTTP/1.1" suivi de 2 retours chariot
Google <a href="privacy.html">Privacy Policy</a> - <a href="terms_of_service.html">Terms
of Service</a></font> </td>
</tr>
</table>
</center>
</body>
</HTML>
tu remarqueras en début de réponse les entêtes http... puis le contenu qui suit...
maintenant comment faire ça en C :
// tu crées le/la socket pour se connecter sur l'hôte www.google.fr sur le port 80...
soc = socket( structure qui va bien, tous ça, tous ça)
// ensuite tu ecrit ta requete sur le/la socket
write(soc, "GET /about.html HTTP/1.1\r\n", taille_en_octets__de("GET /about.html HTTP/1.1\r\n")
// t'attends de lire la réponse :
read(soc, buffer, taille_que_tu_veux)
a tous ça s'ajoute les controles d'erreurs, dans ce que tu recois du dois séparer les entêtes du contenu a priori séparér par deux "\n\n" consécutifs mais vaut mieux jeter un coup d'oeil à la RFC du protocole.....
dans les entetes se trouvent aussi la tailles du "contenu html" à lire .....
[^] # Re: intercepter le html a la volé
Posté par kolter (site web personnel, Mastodon) . En réponse au journal intercepter le html a la volé. Évalué à 2.
bon admettons que tu veuilles le contenu de la page html http://www.google.fr/about.html(...)
tu fais une connection à l'hote www.google.fr sur le port 80 (port classique pour http)
si tu veux faire un essai tu fais : "telnet www.google.fr 80"
ensuite il te dit :
Trying 64.233.167.99...
Connected to www.google.fr.
Escape character is '^]'.
ensuite tu tapes : "GET /about.html HTTP/1.1" suivi de 2 retours chariot
il t'affiche donc le contenu de : http://www.google.fr/about.html(...)
HTTP/1.1 200 OK
Content-Type: text/html
Last-Modified: 2004年4月02日 01:20:24 GMT
Set-Cookie: PREF=ID=33ddff4717cdd806:TM=1081092848:LM=1081092848:S=sWfOpzwO3ucQAG6s; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Server: GWS/2.1
Content-length: 9938
Date: 2004年4月04日 15:34:08 GMT
<HTML>
<HEAD>
<TITLE>About Google</TITLE>
<style>
<!--
body,td,font,p,a{font-family:arial,sans-serif}
//-->
</style>
[ coupure ]
Google <a href="privacy.html">Privacy Policy</a> - <a href="terms_of_service.html">Terms
of Service</a></font> </td>
</tr>
</table>
</center>
</body>
</HTML>
tu remarqueras en début de réponse les entêtes http... puis le contenu qui suit...
maintenant comment faire ça en C :
// tu crées le/la socket pour se connecter sur l'hôte www.google.fr sur le port 80...
soc = socket( structure qui va bien, tous ça, tous ça)
// ensuite tu ecrit ta requete sur le/la socket
write(soc, "GET /about.html HTTP/1.1\r\n", taille_en_octets__de("GET /about.html HTTP/1.1\r\n")
// t'attends de lire la réponse :
read(soc, buffer, taille_que_tu_veux)
a tous ça s'ajoute les controles d'erreurs, dans ce que tu recois du dois séparer les entêtes du contenu a priori séparér par deux "\n\n" consécutifs mais vaut mieux jeter un coup d'oeil à la RFC du protocole.....
dans les entetes se trouvent aussi la tailles du "contenu html" à lire .....
voila, voila ....
M.