J'ai un client HTTP de base mis en place en C++, ce qui fonctionne bien jusqu'à présent. C'est pour une tâche d'école, donc il y a beaucoup plus à faire, mais j'ai un problème. J'utilise la fonction recv() dans une boucle while pour ajouter à plusieurs reprises des parties de la réponse à mon tampon de réponse, puis générer ce tampon à chaque fois. Le problème est que, à la fin de chaque partie de la réponse, la requête HTTP est également activée. Par exemple, la réponse sera un morceau du code source de la page, suivi de "GET/HTTP/1.1 ...", suivi par le morceau suivant, puis de nouveau "GET ...", et bientôt.Réponse HTTP inhabituelle dans la programmation de base C++
Voici mon code correspondant:
// Prepare request
char request[] = "HEAD /index.html HTTP/1.1\r\nHOST: www.google.com\r\nCONNECTION: close\r\n\r\n";
// Send request
len = send(sockfd, request, sizeof(request), 0);
// Write/output response
while (recv(sockfd, buf, sizeof(buf), 0) != 0)
{
// Read & output response
printf("%s", buf);
}
Fait sens. Merci! –