Horoscope (recuperer sur site)

Résolu
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 - 14 févr. 2005 à 16:34
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 - 15 févr. 2005 à 17:53
Voila j'ai un probleme, avec mon code j'envoi une requette HTTP au
serveur et il me renvoi exactement ce que je lui ai envoyé ...
quelqu'un pourrait m'aider plzz ?



int horoscope(SOCKET sock)

{

SOCKET W_IP;

SOCKADDR_IN sin;

char buffer[5120];



W_IP = socket(AF_INET,SOCK_STREAM,0);

sin.sin_family = AF_INET;

sin.sin_port = htons(80);

sin.sin_addr.s_addr = inet_addr("62.210.164.74");

connect(W_IP,(SOCKADDR *)&sin,sizeof(sin));



int len;

char data[1024];

sprintf(data,"/partenaires/Auto/csd.asp?cancer=1\n");

len = (int) strlen(data);



sprintf(buffer,"POST %s HTTP/1.1\r\n"

"Host: www.lhoroscope.com\r\n"


"Accept: image/gif,
image/x-xbitmap, image/jpeg,"


" image/pjpeg, image/png, */*\r\n"

"Connection: Close\r\n"

"Content-length: %d"

"\r\n\r\n",data,len);



send(W_IP,buffer,strlen(buffer),0);

recv(W_IP,buffer,sizeof(buffer),0);

printf("\n%s\n",buffer);



closesocket(W_IP);



return 0;

}



merci d'avance

5 réponses

cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 2
15 févr. 2005 à 17:53
reponse simple :

il suffisait de remplacer HTTP/1.1\n\n par
HTTP/1.0\n\n

merci les quelques sources qui planchent sur le sujet
3
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
14 févr. 2005 à 17:16
tu peux faire, entre Send() et Recv(), memset(buffer,0,sizeof(buffer));

Ce qui "effacera" buffer. Ensuite pourquoi pas profiter des valeur de retour de send() et recv() voir si il n'y a pas d'erreur.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 2
14 févr. 2005 à 17:52
le send marche bien mais pas le recv ...
0
cs_Tidam Messages postés 124 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 février 2006 2
14 févr. 2005 à 18:07
sprintf(buffer,"GET http://www.lhoroscope.com/partenaires/Auto/csd.asp?cancer=1 HTTP/1.1\n\n");



si je met ca il me repond autrement :p



HTTP/1.1 400 Demande Incorrecte

etc...

page introuvable

etc...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
14 févr. 2005 à 18:07
Place juste après le recv() :

printf("%s\n",WSAGetLastError());

Tu obtiendras une erreur (un int) suffit ensuite chercher sur MSDN ce
que cela signifi. Si tu ne trouve pas, donne moi le numéro je verrai
quand j'aurai un peu de tps

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
Rejoignez-nous