libcurl进行HTTP GET获取JSON数据(转载)
转载:http://blog.csdn.net/vincent2610/article/details/68488365
#include <stdio.h>
#include <iostream>
#include <sstream>
using namespace std;
size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
string data((const char*) ptr, (size_t) size * nmemb);
*((stringstream*) stream) << data << endl;
return size * nmemb;
}
int main(int argc, char *argv[])
{
// 基于当前系统的当前日期/时间
time_t now = time(0);
char* dt = ctime(&now);
cout << dt << "-------------------------------------" << endl;
/*HTTP GET json data*/
std::stringstream out;
void* curl = curl_easy_init();
// 设置URL
curl_easy_setopt(curl, CURLOPT_URL, "http://if.qdocument.net:705/bic/download/initFiles?uid=weidong0925@126.com&pageNum=1");
// 设置接收数据的处理函数和存放变量
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out);
// 执行HTTP GET操作
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
// 接受数据存放在out中,输出之
//cout << out.str() << endl;
string str_json = out.str();
printf("%s",str_json.c_str());
curl_easy_cleanup(curl);
return 0;
}
饮水思源,不忘初心。
要面包,也要有诗和远方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2017-12-14 Cesium应用篇:1快速搭建 【转】
2016-12-14 System.Diagnostics.Debug和System.Diagnostics.Trace 【转】
2012-12-14 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)