Skip to main content
Glama
test-api-direct.js5.54 kB
#!/usr/bin/env node /** * 直接测试 Binance API(不通过 MCP 服务器) * 用于验证网络连接和 API 可用性 */ async function testBinanceAPI() { console.log('='.repeat(80)); console.log('直接测试 Binance API'); console.log('='.repeat(80)); console.log(''); const symbols = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT']; // 测试 1: 价格查询 console.log('1. 测试价格查询 API (/ticker/price)\n'); for (const symbol of symbols) { try { const url = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol}`; console.log(`测试 ${symbol}...`); const startTime = Date.now(); const response = await fetch(url); const latency = Date.now() - startTime; if (!response.ok) { console.log(` ❌ 错误: ${response.status} ${response.statusText}`); continue; } const data = await response.json(); console.log(` ✅ 成功 (延迟: ${latency}ms)`); console.log(` 价格: ${data.price} ${symbol}`); console.log(''); } catch (error) { console.log(` ❌ 异常: ${error.message}`); console.log(''); } } // 测试 2: 24小时统计数据 console.log('\n2. 测试24小时统计数据 API (/ticker/24hr)\n'); for (const symbol of symbols) { try { const url = `https://api.binance.com/api/v3/ticker/24hr?symbol=${symbol}`; console.log(`测试 ${symbol}...`); const startTime = Date.now(); const response = await fetch(url); const latency = Date.now() - startTime; if (!response.ok) { console.log(` ❌ 错误: ${response.status} ${response.statusText}`); continue; } const data = await response.json(); console.log(` ✅ 成功 (延迟: ${latency}ms)`); console.log(` 价格变化: ${data.priceChange} (${data.priceChangePercent}%)`); console.log(` 当前价格: ${data.lastPrice}`); console.log(` 最高价: ${data.highPrice}`); console.log(` 最低价: ${data.lowPrice}`); console.log(` 成交量: ${data.volume}`); console.log(` 成交额: ${data.quoteVolume}`); console.log(''); } catch (error) { console.log(` ❌ 异常: ${error.message}`); console.log(''); } } // 测试 3: K线数据 console.log('\n3. 测试K线数据 API (/klines)\n'); const intervals = ['1h', '15m', '1d']; for (const symbol of symbols.slice(0, 2)) { // 只测试前两个,避免太多输出 for (const interval of intervals) { try { const url = `https://api.binance.com/api/v3/klines?symbol=${symbol}&interval=${interval}&limit=5`; console.log(`测试 ${symbol} (${interval}, 5条)...`); const startTime = Date.now(); const response = await fetch(url); const latency = Date.now() - startTime; if (!response.ok) { console.log(` ❌ 错误: ${response.status} ${response.statusText}`); continue; } const data = await response.json(); console.log(` ✅ 成功 (延迟: ${latency}ms)`); console.log(` 返回K线数量: ${data.length}`); if (data.length > 0) { const kline = data[0]; console.log(` 最新K线:`); console.log(` 时间: ${new Date(kline[0]).toISOString()}`); console.log(` 开盘: ${kline[1]}, 最高: ${kline[2]}, 最低: ${kline[3]}, 收盘: ${kline[4]}`); console.log(` 成交量: ${kline[5]}`); } console.log(''); } catch (error) { console.log(` ❌ 异常: ${error.message}`); console.log(''); } } } // 测试 4: 订单簿(交易深度) console.log('\n4. 测试订单簿 API (/depth)\n'); for (const symbol of symbols.slice(0, 2)) { // 只测试前两个 try { const url = `https://api.binance.com/api/v3/depth?symbol=${symbol}&limit=20`; console.log(`测试 ${symbol}...`); const startTime = Date.now(); const response = await fetch(url); const latency = Date.now() - startTime; if (!response.ok) { console.log(` ❌ 错误: ${response.status} ${response.statusText}`); continue; } const data = await response.json(); console.log(` ✅ 成功 (延迟: ${latency}ms)`); console.log(` 买盘数量: ${data.bids.length}, 卖盘数量: ${data.asks.length}`); if (data.bids.length > 0 && data.asks.length > 0) { const bestBid = parseFloat(data.bids[0][0]); const bestAsk = parseFloat(data.asks[0][0]); const spread = bestAsk - bestBid; const spreadPercent = (spread / bestBid) * 100; console.log(` 最佳买价: ${bestBid}, 最佳卖价: ${bestAsk}`); console.log(` 价差: ${spread.toFixed(8)} (${spreadPercent.toFixed(4)}%)`); // 计算买卖盘总量 const bidTotal = data.bids.reduce((sum, [price, qty]) => sum + parseFloat(price) * parseFloat(qty), 0); const askTotal = data.asks.reduce((sum, [price, qty]) => sum + parseFloat(price) * parseFloat(qty), 0); console.log(` 买盘总量: ${bidTotal.toFixed(2)}, 卖盘总量: ${askTotal.toFixed(2)}`); } console.log(''); } catch (error) { console.log(` ❌ 异常: ${error.message}`); console.log(''); } } console.log('API 测试完成'); } testBinanceAPI().catch(error => { console.error('测试失败:', error); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WilliamNing316/crypto-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server