Implémentation de la méthode getResponseCode () de Java en C?
Question
Si vous avez besoin d’aide, il existe également une classe similaire dans WebRequest de C #. Bien que je ne le souhaite pas en java ou .NET, je me demande comment le mettre en œuvre en code C / C ++ natif (pour Windows).
pour référence:
try {
URL url=new URL("http://google.ca");
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.connect();
int code = con.getResponseCode();
System.out.println(code);
} catch (MalformedURLException e) {
System.err.println("Error reading URL.");
}
imprime:
200
signifiant "OK"
Je comprends que j’ai probablement besoin d’utiliser des sockets et d’envoyer une chaîne d’agent utilisateur, mais je ne sais pas par où commencer. À chaque fois que j'apprends une nouvelle langue, la première chose que j'aime faire est d'essayer d'y porter mon code, mais celui-ci m'a bloqué.
Toute aide est appréciée
La solution
Il n'y a pas de support HTTP dans la bibliothèque C standard.
Vous avez donc deux options: utiliser la bibliothèque HTTP tierce, telle que libcurl , ou manipulez HTTP vous-même:
- socket ouvert
- résoudre le nom d'hôte
- se connecter au serveur
- construire la requête HTTP
- envoyer une demande au serveur
- recevoir une réponse HTTP
- analyser la réponse et en extraire le code de réponse.