Bonjour, je suis débutant et à l'aide d'autres sources j'ai créer une fonction pour envoyer une requete POST à un serveur web, celle-ci fonctionne bien, mais quand le serveur web renvoi la réponse je recoit aussi le header et j'aimerais savoir comment je peux faire pour ne pas l'avoir ..
par exemple je recoit :
HTTP/1.1 200 OK
Date : Sun, 11 Jan 2009 11:21:08 GMT
Server : Apache/2.2.3 <Win32> PHP/5.2.0
X-Powered-By: PHP/5.2.0
Content-Lenght: 17
Content-Type: text/html
LaReponseDuServer
et j'aimerais récuperer uniquement le texte "LaReponseDuServer", comment puis-je faire pour enlever le header ?
Voici ma fonction POST :
void POST()
{
WSADATA WSAData;
int erreur = WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
char buffer[1024] = "";
/* Si les sockets Windows fonctionnent */
if(!erreur)
{
/* Création de la socket */
sock = socket(AF_INET, SOCK_STREAM, 0);
/* Configuration de la connexion */
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(80);
/* Si l'on a réussi à se connecter */
if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)) != SOCKET_ERROR)
{
printf("Connection à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
char commande[5000];
sprintf(commande,"POST %s HTTP/1.1\r\nHost: %s\r\nAccept: */*\r\nContent-Type:application/x-www-form-urlencoded\r\nContent-Length:18\r\n\r\nIdentifiant=Pierre",http_req_path,url_server);
send(sock,commande,strlen(commande)+1,0);
char response [1024] ="";
while (recv(sock,buffer, 1024, 0) > 0)
{
strcat(response, buffer);
}
printf("%s", response);
// J'aimerais afficher la réponse sans le header.. }
/* sinon, on affiche "Impossible de se connecter" */
else
{
printf("Impossible de se connecter\n");
}
/* On ferme la socket */
closesocket(sock);
WSACleanup();
}
}
Merci d'avance ! Chouquette.
