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

È stato utile?

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
scroll top