Working with APIs in C++
In modern software development, interacting with external services and APIs is a common requirement. In C++, you can make API requests and handle responses using libraries like cURL.
To make an API request in C++, you need to follow these steps:
Include the necessary header file for cURL:
TEXT/X-C++SRC1#include <curl/curl.h>Initialize the cURL library:
TEXT/X-C++SRC1curl_global_init(CURL_GLOBAL_ALL);Create a cURL handle to perform the request:
TEXT/X-C++SRC1CURL* curl = curl_easy_init();Set the URL of the API endpoint:
TEXT/X-C++SRC1curl_easy_setopt(curl, CURLOPT_URL, "https://api.example.com/data");Perform the API request:
TEXT/X-C++SRC1CURLcode res = curl_easy_perform(curl);Check the response and handle any errors:
TEXT/X-C++SRC1if (res == CURLE_OK) { 2 // Request succeeded 3} else { 4 // Request failed 5}Cleanup the cURL handle and library:
TEXT/X-C++SRC1curl_easy_cleanup(curl); 2curl_global_cleanup();
Here's an example of making an API request using cURL in C++:
TEXT/X-C++SRC
1#include <iostream>
2#include <curl/curl.h>
3
4int main() {
5 // Initialize CURL
6 curl_global_init(CURL_GLOBAL_ALL);
7
8 // Create a CURL handle
9 CURL* curl = curl_easy_init();
10
11 if (curl) {
12 // Set the URL to make the API request
13 curl_easy_setopt(curl, CURLOPT_URL, "https://api.example.com/data");
14
15 // Perform the request
16 CURLcode res = curl_easy_perform(curl);
17
18 if (res == CURLE_OK) {
19 // Request successful
20 std::cout << "API request succeeded" << std::endl;
21 } else {
22 // Request failed
23 std::cerr << "API request failed: " << curl_easy_strerror(res) << std::endl;
24 }
25
26 // Cleanup the CURL handle
27 curl_easy_cleanup(curl);
28 }
29
30 // Cleanup CURL
31 curl_global_cleanup();
32
33 return 0;
34}xxxxxxxxxx34
}int main() { // Initialize CURL curl_global_init(CURL_GLOBAL_ALL); // Create a CURL handle CURL* curl = curl_easy_init(); if (curl) { // Set the URL to make the API request curl_easy_setopt(curl, CURLOPT_URL, "https://api.example.com/data"); // Perform the request CURLcode res = curl_easy_perform(curl); if (res == CURLE_OK) { // Request successful std::cout << "API request succeeded" << std::endl; } else { // Request failed std::cerr << "API request failed: " << curl_easy_strerror(res) << std::endl; } // Cleanup the CURL handle curl_easy_cleanup(curl); }OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment



