c++ post怎樣發(fā)送HTTP請(qǐng)求

c++
小樊
84
2024-07-05 20:08:21

要在C++中發(fā)送HTTP請(qǐng)求,您可以使用第三方庫(kù),如CURL或Boost.Beast。以下是一個(gè)使用CURL發(fā)送GET請(qǐng)求的示例:

#include <iostream>
#include <curl/curl.h>

size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* data) {
    data->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl;
    CURLcode res;
    std::string response;

    curl_global_init(CURL_GLOBAL_ALL);
    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        res = curl_easy_perform(curl);
        if (res != CURLE_OK) {
            std::cerr << "Failed to send HTTP request: " << curl_easy_strerror(res) << std::endl;
        } else {
            std::cout << "Response: " << response << std::endl;
        }

        curl_easy_cleanup(curl);
    }

    curl_global_cleanup();
    return 0;
}

在這個(gè)示例中,我們使用CURL庫(kù)來(lái)發(fā)送一個(gè)簡(jiǎn)單的GET請(qǐng)求,并將響應(yīng)打印到控制臺(tái)。您可以根據(jù)您的需求修改代碼來(lái)發(fā)送不同類型的HTTP請(qǐng)求,例如POST請(qǐng)求或帶有自定義標(biāo)頭的請(qǐng)求。

0