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

c++ http请求

作者:噬血啸月   发布日期:2025-12-06   浏览:13

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

// 回调函数,用于处理服务器返回的数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) {
    ((std::string*)userp)->append((char*)contents, size * nmemb);
    return size * nmemb;
}

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

    // 初始化CURL
    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 << readBuffer << std::endl;
        }

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

    return 0;
}

解释说明:

  1. 引入库:使用了<iostream><string><curl/curl.h>库。curl库用于发起HTTP请求。
  2. 回调函数WriteCallback函数用于处理从服务器接收到的数据,并将其存储在readBuffer字符串中。
  3. 初始化CURL:通过curl_easy_init()初始化一个CURL句柄。
  4. 设置请求选项:使用curl_easy_setopt()设置请求的URL和其他选项,如回调函数和用户数据。
  5. 执行请求:通过curl_easy_perform()执行HTTP请求。
  6. 检查结果:如果请求失败,输出错误信息;否则,输出服务器返回的内容。
  7. 清理资源:使用curl_easy_cleanup()释放CURL资源。

这个示例展示了如何使用C++和libcurl库发起一个简单的HTTP GET请求并处理响应。

上一篇:c++ 多重继承

下一篇:c++怎么运行代码

大家都在看

c++闭包

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

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

进制转换c++代码

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

Laravel 中文站