Search code examples
c++httprequest

How do you make a HTTP request with C++?


Is there any way to easily make a HTTP request with C++? Specifically, I want to download the contents of a page (an API) and check the contents to see if it contains a 1 or a 0. Is it also possible to download the contents into a string?


Solution

  • I had the same problem. libcurl is really complete. There is a C++ wrapper curlpp that might interest you as you ask for a C++ library. neon is another interesting C library that also support WebDAV.

    curlpp seems natural if you use C++. There are many examples provided in the source distribution. To get the content of an URL you do something like that (extracted from examples) :

    // Edit : rewritten for cURLpp 0.7.3
    // Note : namespace changed, was cURLpp in 0.7.2 ...
    
    #include <curlpp/cURLpp.hpp>
    #include <curlpp/Options.hpp>
    
    // RAII cleanup
    
    curlpp::Cleanup myCleanup;
    
    // Send request and get a result.
    // Here I use a shortcut to get it in a string stream ...
    
    std::ostringstream os;
    os << curlpp::options::Url(std::string("http://example.com"));
    
    string asAskedInQuestion = os.str();
    

    See the examples directory in curlpp source distribution, there is a lot of more complex cases, as well as a simple complete minimal one using curlpp.

    my 2 cents ...