Implementare getResponseCode () di Java in C?
Domanda
Se è di aiuto, c'è anche una classe simile nel WebRequest di C #. Anche se non lo voglio in Java o .NET, mi chiedo come implementarlo nel codice C / C ++ nativo (per Windows).
per riferimento:
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.");
}
stampa:
200
che significa " OK "
Capisco che probabilmente dovrò usare i socket e inviare una stringa User-Agent, ma non ho idea di dove cominciare. Ogni volta che imparo una nuova lingua, la prima cosa che mi piace fare è provare a eseguire il porting del mio codice, ma questo mi ha sconcertato.
Qualsiasi aiuto è apprezzato
Soluzione
Non esiste supporto HTTP nella libreria standard C.
Quindi hai due opzioni: usa una libreria HTTP di terze parti, come ad esempio libcurl , oppure gestisci HTTP tu stesso:
- socket aperto
- risolvi nome host
- connettiti al server
- crea richiesta HTTP
- invia richiesta al server
- ricevi risposta HTTP
- analizza la risposta e ne ricava il codice di risposta.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow