Comme tu gères ta communication avec les sockets, ta connexion est établie avec l'adresse IP correspondant au nom d'hôte (www.example.com), qui doit être dans ta variable hostname dans ton code, traitée par gethostbyname().
S'agissant de la requête elle même, c'est dans le texte que tu envoies au serveur que tu dois la mettre. Tu dois envoyer avec write() ta requête http GET selon le format attendu par le protocole HTTP par le serveur auquel tu seras connecté.
Tu me montres pas ce que contient ta variable "request" dans ton code.
Tu dois y mettre GET suivi de la ressource demandée sur le serveur (ce qui est à droite du nom de domaine dans l'URL), suivi de l'indication du protocole et sa version (HTTP/1.0 par exemple) suivi d'un retour à la ligne (CRLF) et d'une ligne vide :
char request[] = "GET /cgi-bin/randbyte?nbytes=10&format=d HTTP/1.0\r\n\r\n";
et ensuite recevoir la réponse et la parser pour l'utiliser.
Note que si le site force la communication en https, tu vas devoir gérer une connexion TLS pour obtenir ce que tu veux, et là tu ferais mieux d'utiliser OpenSSL sauf à vouloir réécrire ta propre bibliothèque d'authentification et de chiffrement.
Tu as des exemples d'utilisation des sockets pour générer des requêtes http GET (ou POST) là :
https://stackoverflow.com/questions/...g-the-response
Il peut être plus simple, et plus robuste, d'utiliser une bibliothèque comme libcurl, comme cela t'a été proposé.
Partager