当前位置: 首页 > news >正文

libcurl库使用实例

libcurl

libcurl是一个功能强大的跨平台网络传输库,支持多种协议,包括HTTP、FTP、SMTP等,同时提供了易于使用的API。

安装

ubuntu18.04平台安装

sudo apt-get install libcurl4-openssl-dev

实例

这个示例使用libcurl库发送一个简单的HTTP GET请求,并将响应数据保存在response字符串中。

#include <iostream>
#include <curl/curl.h>// 回调函数,用于处理HTTP响应数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* response)
{size_t totalSize = size * nmemb;response->append(static_cast<char*>(contents), totalSize);return totalSize;
}int main()
{CURL* curl;CURLcode res;std::string response;// 初始化curlcurl = curl_easy_init();if (curl){// 设置URLcurl_easy_setopt(curl, CURLOPT_URL, "http://baidu.com");// 设置接收响应数据的回调函数curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);// 执行HTTP GET请求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: " << response << std::endl;}// 清理curlcurl_easy_cleanup(curl);}return 0;
}

编译运行

g++ example.cpp -lcurl -o example
./example

数据显示

root@sjn:/home/libcurltest# ./example 
Response: <html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html>
http://www.lryc.cn/news/95067.html

相关文章:

  • 大数据存储架构详解:数据仓库、数据集市、数据湖、数据网格、湖仓一体
  • ESP32(MicroPython) 网页控制五自由度机械臂
  • 前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
  • huggingface新作品:快速和简便的训练模型
  • 利用鸿鹄优化共享储能的SCADA 系统功能,赋能用户数据自助分析
  • noSQL语句练习
  • Spring:Bean生命周期
  • Vue自定义指令
  • SpringBoot+JWT实现单点登录解决方案
  • 中国国债发行数据集(2002-2023)
  • 曲师大2023大一新生排位赛-C.String题解
  • Linux Ubuntu安装RabbitMQ服务
  • 什么是测试用例?如何设计?
  • Maven —— 项目管理工具
  • Ubuntu 命令行编辑文件后如何保存退出
  • AHB协议理解
  • 【UE5 多人联机教程】01-创建主界面
  • HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 五)
  • React(3)
  • LangChain大型语言模型(LLM)应用开发(三):Chains
  • FPGA——点亮led灯
  • idea创建spark教程
  • 【JavaEE】DI与DL的介绍-Spring项目的创建-Bean对象的存储与获取
  • C#图片处理
  • php 开发微信 h5 支付 APIv3 接入超详细流程
  • HTML学习 第一部分(前端学习)
  • python 实现串口指令通讯
  • pytorch深度学习逻辑回归 logistic regression
  • 数据仓库建设-数仓分层
  • 共享与协作:时下最热门的企业共享网盘推荐!