begin process at 2012 05 30 01:26:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

un paragraphe pour les cookies ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

un paragraphe pour les cookies ?

mercredi 7 décembre 2011 à 08:41:52 | un paragraphe pour les cookies ?

ArthurAuguste

Membre Club
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
mercredi 7 décembre 2011 à 10:05:59 | Re : un paragraphe pour les cookies ?

coucou747

Administrateur CodeS-SourceS
Bonjour,

La norme http dit que tu dois faire GET / HTTP/1.1
le domaine est passé dans le champ HOST

Cordialement,

Maxime
mercredi 7 décembre 2011 à 13:59:35 | Re : un paragraphe pour les cookies ?

ArthurAuguste

Membre Club
Excuse-moi, mais je ne comprends pas la réponse. Si tu regardes mon message précédent j'ai bien le HTTP/1.1 au bout du GET et le domaine dans le champ HOST !!!
D'ailleurs je dis que ça marche sans problème tant que je ne cherche pas à faire comme firefox c'est à dire à rajouter le cookie. Ma question portait sur comment insérer le cookie dans le header ?
Si je n'ai pas compris ce que tu voulais dire, peux-tu expliciter STP ?
Merci
jeudi 8 décembre 2011 à 08:52:46 | Re : un paragraphe pour les cookies ?

ArthurAuguste

Membre Club
Complément d'infos
En fait quand je dis dans mon 1er message qu'avec le cookie positionné là où je le mets je ne reçois plus rien, ce n'est pas tout à fait exact (je n'avais pas attendu assez longtemps) car au bout de exactement 5mn je reçois le message:
408 Request Time-out
Server timeout waiting for the HTTP request from the client
Qu'est-ce que le serveur attend de moi ? Je rappelle que j'ai simplement voulu simuler ce que je vois que firefox fait via sa console web!
Merci
jeudi 8 décembre 2011 à 20:25:33 | Re : un paragraphe pour les cookies ?

JulSoft

Membre Club
Cookie est bien un header http.

Tu peux jetter un oeil à la RFC (ouais, c'est assez indigeste à lire, mais des fois c'est utile): http://www.ietf.org/rfc/rfc2109.txt

Il y'a un exemple qui a l'air pas trop mal entre les pages 11 et 12.

Un autre conseil: comme tu as un protocol en mode texte (HTTP donc), tu peux sans autre debuger avec telnet. C'est des fois pratique pour tester tes requêtes. Des fois pas ;-)
vendredi 9 décembre 2011 à 12:13:14 | Re : un paragraphe pour les cookies ?

ArthurAuguste

Membre Club
Merci pour l'adresse du site, très intéressant. Cependant l'exemple donné ne montre que l'envoi du cookie seul, ce que je n'arrive pas à voir c'est s'il faut faire un envoi spécifique pour transmettre le cookie seul ou si on peut le mettre avec le reste du header (qui contient les autres éléments: agent, host, etc...). La console de firefox semble dire que firefox envoie tout en même temps le reste du header avec le cookie, or moi quand je le fais le serveur reste en attente de recevoir une requête jusqu'au déclenchement du time-out alors que si je ne mets pas le cookie dans le header le serveur répond en envoyant la première page.
Merci


Cette discussion est classée dans : id, cookie, firefox, wt, fpc


Répondre à ce message

Sujets en rapport avec ce message

plus de precisions pour la communication multiple stp !!! [ par Xs ] salut !bon, recement, j'ai posté un msg demandant comment faire plusieurs boites de dialog(cf : plusieurs dialogs [API])bon, comme dit, ca marche.mais mode d'ouverture de data base en vc++ [ par f1cobra ] J'arrive pas a ecrire dans ma base de donnéesCDialogueReservation Reservation;m_pPoint = new CSalleSet;m_pPoint->Open();//pour etre sur de ce q tu fai changer l'icone d'un programme compiler [ par Mike ] Salut, je bosse ss visual C++ en win32, j'aimerais savoir comment changer l'icone d'un programme compiler, sachant que je fé un MAKEINRESSOURCE(ID_ICO Récupérer le message CB_SETCURSEL [ par vow ] Bonjour, je travaille tjs sur Visual C++ 6 en langage C J'ai une fenêtre avec 2 combo-box et une case à cocher.Le premier peut changer ou pas le secon pas de ON_COMMAND [ par crocejf2000 ] Dans un menu en MFC, je cré quelques items : Ultrasubmenu->InsertMenu(pos + 1, MF_BYPOSITION, id, finder.GetFileName());Le probleme est que je ne conn Meme ID dans le Menu [ par crocejf2000 ] Dans mon menu,j'ai plusieurs item qui on le meme ID mais pas le meme label. Comment puis-je faire pour recuperer juste le label du menu ou l'utilisate Cherchez l'erreur... [ par andrealphus ] 4ndr&@lphu$Voilà mon code :LRESULT CALLBACK dialogProc4(HWND hDlg, UINT Umess, WPARAM wParamD, LPARAM lParamD){ int m_IdTimer=0; // ID du PARANORMAL ACTIVITY ??? [ par andrealphus ] 4ndr&@lphu$bien encore une fois voilà mon code définitif :LRESULT CALLBACK dialogProc4(HWND hDlg, UINT Umess, WPARAM wParamD, LPARAM lParamD){ int Indicateurs dans StatusBar [ par lombricator ] Salut,Je crée une statusbar dans un projet c++, mais les indicateurs ont une taille minuscule, et on ne les voit que lorsque la fenetre est maximizée. trouver le bon process ID!!! [ par anthraxx ] Je voudrais terminer un processus (avec TerminateProcess) dont je ne connais que le nom du fichier executable (mdm.exe par exemple), et le processus n


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,017 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales