C++ 查看币安所有symbol
时间: 2023-11-14 12:56:07 浏览: 135
要查看币安所有symbol,你可以使用币安提供的 REST API 接口。以下是一个简单的 C++ 程序示例,可以获取币安所有的交易对:
```c++
#include <iostream>
#include <curl/curl.h>
#include <json/json.h>
using namespace std;
// 回调函数,处理返回的数据
static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
string* response = reinterpret_cast<string*>(userdata);
response->append(ptr, size * nmemb);
return size * nmemb;
}
int main() {
// 初始化 curl
CURL* curl = curl_easy_init();
if (!curl) {
cerr << "curl 初始化失败" << endl;
return 1;
}
// 设置 API 地址
string url = "https://api.binance.com/api/v3/exchangeInfo";
// 设置 curl 选项
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
// 发送请求
string response_string;
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_string);
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
cerr << "curl 执行失败: " << curl_easy_strerror(res) << endl;
return 1;
}
// 解析 JSON 数据
Json::Value root;
Json::CharReaderBuilder builder;
Json::CharReader* reader = builder.newCharReader();
string errors;
bool parsing_successful = reader->parse(response_string.c_str(), response_string.c_str() + response_string.size(), &root, &errors);
delete reader;
if (!parsing_successful) {
cerr << "JSON 解析失败: " << errors << endl;
return 1;
}
// 输出所有 symbol
for (const auto& symbol_info : root["symbols"]) {
cout << symbol_info["symbol"].asString() << endl;
}
// 释放 curl
curl_easy_cleanup(curl);
return 0;
}
```
这个程序使用了 libcurl 库来发送 HTTP 请求,并使用 jsoncpp 库来解析返回的 JSON 数据。你需要先安装这两个库才能编译运行这个程序。
阅读全文