C++如何查询实时贵金属行情

[复制链接]
发表于 2025-7-8 14:23:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在本文中,我们将通过C++接入贵金属实时行情数据接口,帮助你获取黄金和白银等贵金属的K线数据。我们会使用 libcurl 库进行HTTP请求,并处理API返回的数据。
一、API请求地址

贵金属的实时行情通过如下API获取:
  1. https://data.infoway.io/common/batch_kline/{klineType}/{klineNum}/{codes}
  2. // 申请API Key: www.infoway.io
复制代码
入参说明:
{klineType} 是K线的时间周期,传入不同的值代表不同周期的K线:
11分钟k线25分钟k线315分钟k线430分钟k线51小时k线62小时k线74小时k线81日k线91周k线101月k线111季k线121年k线{klineNum} 是需要的K线数量,这个接口支持能查询近来的500根K线。
{codes} 是资产代码,比如黄金是XAUUSD
二、代码示例

假设我们需要查询黄金和白银的1分钟K线,请求地址是:
  1. https://data.infoway.io/common/batch_kline/1/2/XAUUSD%2CXAGUSD
  2. // 这个地址能返回黄金和白银最近的2根1分钟K线
复制代码
完整代码如下:
[code]#include #include #include // 回调函数,用来吸收HTTP响应的数据size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* out) {    size_t total_size = size * nmemb;    out->append((char*)contents, total_size);    return total_size;}int main() {    CURL* curl;    CURLcode res;        // 设置 API URL 和请求头    // 申请API Key: www.infoway.io    const std::string api_url = "https://data.infoway.io/common/batch_kline/1/2/XAUUSD%2CXAGUSD";        // 初始化 libcurl    curl_global_init(CURL_GLOBAL_DEFAULT);    curl = curl_easy_init();        if (curl) {        // 设置 URL        curl_easy_setopt(curl, CURLOPT_URL, api_url.c_str());                // 设置请求头        struct curl_slist* headers = NULL;        headers = curl_slist_append(headers, "User-Agent: Mozilla/5.0");        headers = curl_slist_append(headers, "Accept: application/json");        headers = curl_slist_append(headers, "apiKey: yourApikey");        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);                // 存储响应结果        std::string response_string;        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_string);                // 发送 GET 请求        res = curl_easy_perform(curl);                if (res != CURLE_OK) {            std::cerr
回复

使用道具 举报

快速回复 返回顶部 返回列表