Een HTTP-verzoek verzenden

C++:
Een HTTP-verzoek verzenden

Hoe:

#include <iostream>
#include <cpr/cpr.h> // Zorg ervoor dat je eerst de CPR-bibliotheek installeert

int main() {
    cpr::Response r = cpr::Get(cpr::Url{"http://httpbin.org/get"});
    std::cout << r.text << std::endl; // Geeft het antwoord van het lichaam weer
    return 0;
}

Voorbeelduitvoer:

{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.64.1"
  },
  "origin": "0.0.0.0",
  "url": "https://httpbin.org/get"
}

Diepduik

HTTP-verzoeken zijn cruciaal geweest sinds de komst van het web; ze volgen een client-servermodel. Vóór C++-bibliotheken zoals CPR betekende het versturen van HTTP-verzoeken meestal direct gebruikmaken van libcurl, of integratie met een andere taal die beter uitgerust was voor webcommunicatie.

CPR, wat staat voor C++ Requests, is een eenvoudige te gebruiken wrapper, geïnspireerd door Python’s requests module. Het abstraheert veel van de complexiteiten van libcurl. Alternatieven bestaan nog steeds, zoals Boost.Beast voor low-level HTTP/S-bewerkingen, of POCO-bibliotheken die draagbaarheid bieden.

Een duik onder de motorkap nemen, betekent dat het versturen van een HTTP-verzoek het opzetten van een TCP-verbinding inhoudt, het formatteren van een verzoek in overeenstemming met het HTTP-protocol, en vervolgens het parseren van het antwoord. Dit goed krijgen vanaf nul is niet triviaal vanwege foutafhandeling, complexiteiten met HTTP-versies en beveiligingsoverwegingen.

Zie Ook