Implementieren von Java getResponseCode () in C?
Frage
Wenn es keine Hilfe gibt, gibt es auch eine ähnliche Klasse in C # 's WebRequest. Obwohl ich es nicht in Java oder .NET will, ich frage mich, wie diese in native C / C ++ Code zu implementieren (für Windows).
Referenz:
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.");
}
ausdruckt:
200
Bedeutung "OK"
Ich verstehe ich wahrscheinlich Sockets verwenden müssen und einen User-Agent-String zu senden, aber ich habe keine Ahnung, wo man anfangen soll. Jedes Mal, wenn ich eine neue Sprache das erste, was ich lernen zu tun, ist zu versuchen mein Code, um es zu portieren, aber dieses hat mich ratlos.
Jede Hilfe ist willkommen
Lösung
Es gibt keine HTTP-Unterstützung in Standard-C-Bibliothek.
So haben Sie zwei Möglichkeiten - nutzen 3rd-Party-HTTP-Bibliothek, wie ar Libcurl oder Griff HTTP selbst:
- open-Buchse
- resolve Hostname
- Mit Server verbinden
- bauen HTTP-Anforderung
- Anfrage an den Server senden
- erhalten HTTP-Antwort
- Parse-Antwort und Antwortcode von ihm erhalten.