Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ http库

作者:√学卟会掩饰   发布日期:2026-05-23   浏览:98

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

// 回调函数,用于处理HTTP响应数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
    size_t totalSize = size * nmemb;
    userp->append((char*)contents, totalSize);
    return totalSize;
}

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

    // 初始化CURL
    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();

    if(curl) {
        // 设置请求的URL
        curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

        // 设置回调函数,用于处理响应数据
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);

        // 设置用户数据指针,传递给回调函数
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);

        // 执行HTTP请求
        res = curl_easy_perform(curl);

        // 检查请求是否成功
        if(res != CURLE_OK)
            std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
        else
            std::cout << "Response: " << readBuffer << std::endl;

        // 清理CURL资源
        curl_easy_cleanup(curl);
    }

    // 清理全局CURL资源
    curl_global_cleanup();

    return 0;
}

解释说明:

  1. 引入库:使用 #include <curl/curl.h> 引入了libcurl库,这是一个广泛使用的C/C++ HTTP客户端库。
  2. 回调函数:定义了一个回调函数 WriteCallback,它用于处理从服务器接收到的HTTP响应数据,并将其存储在 std::string 中。
  3. 初始化和配置CURL:使用 curl_easy_init() 初始化CURL句柄,并通过 curl_easy_setopt() 设置请求的URL、回调函数以及用户数据指针。
  4. 执行HTTP请求:使用 curl_easy_perform() 执行HTTP请求,并检查返回结果。
  5. 清理资源:使用 curl_easy_cleanup()curl_global_cleanup() 清理CURL资源,防止内存泄漏。

这段代码展示了如何使用libcurl库发送一个简单的HTTP GET请求,并处理服务器返回的响应。

上一篇:c++ grpc

下一篇:c++ascii码对照表

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站