zoukankan      html  css  js  c++  java
  • 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
    ", 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;
    }
  • 相关阅读:
    Linux上ssh免秘钥互登
    Linux版本显示和区别32位还是64位系统
    shell运行下的写日志
    oracle 分析函数
    oracle解锁
    Linux下的打包操作
    python 小记
    Python 之 random模块
    JS模块化工具requirejs教程02
    JS模块化工具requirejs教程01
  • 原文地址:https://www.cnblogs.com/chechen/p/7238919.html
Copyright © 2011-2022 走看看