Bonjour,
Depuis quelques jours j'essaie de simuler une connexion à un site (par exemple: developpez.com) par programme en C avec les sockets tout en me faisant passer pour firefox.
Sur le send() j'envoie les paramètres suivants:
"GET
http://windows.developpez.com/ HTTP/1.1\r\n"; // URL appelée
// header du buffer
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
"Accept-Encoding: qzip, deflate\r\n";
"Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
"Connection: keep-alive\r\n";
"Host: web.developpez.com\r\n";
"User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2\r\n";
"\r\n" // ligne vide => fin du header
ensuite je boucle sur le recv() et ça marche, je reçois un header de réponse ainsi que la 1ère page du site dans mon buffer qu'au fur et à mesure des boucles je recopie dans un fichier.
Seulement je ne simule pas exactement ce que fait firefox car quand je regarde avec la console web de firefox ce que fait firefox sur le send(), il m'indique qu'en même temps qu'un buffer identique au mien ci-dessus il envoie un cookie tout simple: WT_FPC:id
Je voudrais en faire autant mais j'ignore sous quelle forme ce cookie est envoyé. J'ai fait plusieurs essais en rajoutant dans mon header ci-dessus une des lignes ci-dessous juste avant la ligne vide:
"Cookie: WT_FPC=id\r\n"
"Cookie: WT_FPC:id\r\n"
"Set-Cookie: WT_FPC=id\r\n"
"Set-Cookie: WT_FPC:id\r\n"
Mais aucun de ces essais ne fonctionne car je ne reçois plus rien sur le recv().
J'en conclus que ma syntaxe doit-être mauvaise ou que je l'ai insérée au mauvais endroit ou qu'il faut rajouter quelque chose (un sous-titre, un paragraphe?...)
Quelqu'un aurai-il une idée.
Merci