C/C++ 实现 Binance 期货 API 获取所有订单 - 无需 Binance 头文件
#include
using namespace std;
string hmac_sha256(string key, string data) { unsigned char* digest; digest = HMAC(EVP_sha256(), key.c_str(), key.length(), (unsigned char*) data.c_str(), data.length(), NULL, NULL); char mdString[SHA256_DIGEST_LENGTH2+1]; for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) sprintf(&mdString[i2], "%02x", (unsigned int)digest[i]); return mdString; }
string base64_encode(const string& input) { BIO *bio, *b64; BUF_MEM *bptr; bio = BIO_new(BIO_s_mem()); b64 = BIO_new(BIO_f_base64()); BIO_push(b64, bio); BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL); BIO_write(b64, input.c_str(), input.length()); BIO_flush(b64); BIO_get_mem_ptr(b64, &bptr); string output(bptr->data, bptr->length); BIO_free_all(b64); return output; }
string get_signature(string secret, string message) { string hmac = hmac_sha256(secret, message); return base64_encode(hmac); }
int main() { string key = ""; string secret = ""; string symbol = "BTCUSDT"; string recvWindow = "2000"; string timestamp = to_string(time(NULL)*1000); string endpoint = "/fapi/v1/allOrders"; string query_string = "symbol=" + symbol + "&recvWindow=" + recvWindow + "×tamp=" + timestamp; string message = "GET\n" + endpoint + "\n" + query_string; string signature = get_signature(secret, message); string url = "https://fapi.binance.com" + endpoint + "?" + query_string + "&signature=" + signature;
// TODO: Use curl or similar library to make GET request to url
return 0;
}
原文地址: https://www.cveoy.top/t/topic/nCNT 著作权归作者所有。请勿转载和采集!