1.4 Binance_interface API U本位合约行情
Binance_interface API U本位合约行情
- Github地址
- PyTed量化交易研究院
1. API U本位合约行情接口总览
方法 | 解释 | Path |
---|---|---|
get_ping | 测试服务器连通性 PING | /fapi/v1/ping |
get_time | 获取服务器时间 | /fapi/v1/time |
get_exchangeInfo | 获取交易规则和交易对 | /fapi/v1/exchangeInfo |
get_depth | 深度信息 | /fapi/v1/depth |
get_trades | 近期成交 | /fapi/v1/trades |
get_historicalTrades | 查询历史成交(MARKET_DATA) | /fapi/v1/historicalTrades |
get_aggTrades | 近期成交(归集) | /fapi/v1/aggTrades |
get_klines | K线数据 | /fapi/v1/klines |
get_continuousKlines | 连续合约K线数据 | /fapi/v1/continuousKlines |
get_indexPriceKlines | 价格指数K线数据 | /fapi/v1/indexPriceKlines |
get_markPriceKlines | 标记价格K线数据 | /fapi/v1/markPriceKlines |
get_premiumIndexKlines | 溢价指数K线数据 | /fapi/v1/premiumIndexKlines |
get_premiumIndex | 最新标记价格和资金费率 | /fapi/v1/premiumIndex |
get_fundingRate | 查询资金费率历史 | /fapi/v1/fundingRate |
get_fundingInfo | 查询资金费率信息 | /fapi/v1/fundingInfo |
get_ticker_24hr | 24hr价格变动情况 | /fapi/v1/ticker/24hr |
get_ticker_price_v1 | 最新价格 | /fapi/v1/ticker/price |
get_ticker_price | 最新价格V2 | /fapi/v2/ticker/price |
get_ticker_bookTicker | 当前最优挂单 | /fapi/v1/ticker/bookTicker |
get_openInterest | 获取未平仓合约数 | /fapi/v1/openInterest |
get_delivery_price | 季度合约历史结算价 | /futures/data/delivery-price |
get_openInterestHist | 合约持仓量 | /futures/data/openInterestHist |
get_topLongShortAccountRatio | 大户账户数多空比 | /futures/data/topLongShortAccountRatio |
get_topLongShortPositionRatio | 大户持仓量多空比 | /futures/data/topLongShortPositionRatio |
get_globalLongShortAccountRatio | 多空持仓人数比 | /futures/data/globalLongShortAccountRatio |
get_takerlongshortRatio | 合约主动买卖量 | /futures/data/takerlongshortRatio |
get_basis | 基差 | /futures/data/basis |
get_lvtKlines | 杠杆代币历史净值K线 | /fapi/v1/lvtKlines |
get_indexInfo | 综合指数交易对信息 | /fapi/v1/indexInfo |
get_assetIndex | 多资产模式资产汇率指数 | /fapi/v1/assetIndex |
get_constituents | 查询指数价格成分 | /fapi/v1/constituents |
2. 模型实例化
import datetime
from binance_interface.api import UM
from binance_interface.app.utils import eprint
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
um = UM(proxy_host=proxy_host
)
market = um.market
3. U本位合约实时行情
3.1 当前最优挂单 get_ticker_bookTicker
# 现货全部产品
bookTicker_result = market.get_ticker_bookTicker()
eprint(bookTicker_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'BTCUSDT',
>>> 'bidPrice': '40158.10',
>>> 'bidQty': '1.750',
>>> 'askPrice': '40158.20',
>>> 'askQty': '7.586',
>>> '...': '......'},
>>> {'symbol': 'ETHUSDT',
>>> 'bidPrice': '2222.27',
>>> 'bidQty': '5.638',
>>> 'askPrice': '2222.28',
>>> 'askQty': '27.227',
>>> '...': '......'},
>>> {'symbol': 'BCHUSDT',
>>> 'bidPrice': '235.89',
>>> 'bidQty': '1.539',
>>> 'askPrice': '235.90',
>>> 'askQty': '4.531',
>>> '...': '......'},
>>> {'symbol': 'XRPUSDT',
>>> 'bidPrice': '0.5139',
>>> 'bidQty': '22041.0',
>>> 'askPrice': '0.5140',
>>> 'askQty': '101329.3',
>>> '...': '......'},
>>> {'symbol': 'EOSUSDT',
>>> 'bidPrice': '0.690',
>>> 'bidQty': '162800.4',
>>> 'askPrice': '0.691',
>>> 'askQty': '116329.8',
>>> '...': '......'},
>>> '......'],
>>> 'msg': ''}
# 现货单个交易对
bookTicker_result = market.get_ticker_bookTicker(symbol='BTCUSDT')
eprint(bookTicker_result)
输出:
>>> {'code': 200,
>>> 'data': {'symbol': 'BTCUSDT',
>>> 'bidPrice': '40148.30',
>>> 'bidQty': '0.808',
>>> 'askPrice': '40148.40',
>>> 'askQty': '5.244',
>>> 'time': 1706245394375,
>>> 'lastUpdateId': 3888877129825},
>>> 'msg': ''}
3.2 最新价格 get_ticker_price
# 现货全部产品
price_result = market.get_ticker_price()
eprint(price_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'NEARUSDT', 'price': '2.7580', 'time': 1706245389313},
>>> {'symbol': '1000SATSUSDT', 'price': '0.0004072', 'time': 1706245399913},
>>> {'symbol': 'UMAUSDT', 'price': '5.321000', 'time': 1706245400559},
>>> {'symbol': 'GALAUSDT', 'price': '0.02223', 'time': 1706245396551},
>>> {'symbol': 'MINAUSDT', 'price': '1.0101000', 'time': 1706245396476},
>>> '......'],
>>> 'msg': ''}
# 现货单个产品
price_result = market.get_ticker_price(symbol='BTCUSDT')
eprint(price_result)
输出:
>>> {'code': 200, 'data': {'symbol': 'BTCUSDT', 'price': '40146.70', 'time': 1706245405158}, 'msg': ''}
3.3 24hr价格变动情况 get_ticker_24hr
# 现货全部产品
hr24_result = market.get_ticker_24hr()
eprint(hr24_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'ATAUSDT',
>>> 'priceChange': '0.0020',
>>> 'priceChangePercent': '2.389',
>>> 'weightedAvgPrice': '0.0843',
>>> 'lastPrice': '0.0857',
>>> '...': '......'},
>>> {'symbol': 'XMRUSDT',
>>> 'priceChange': '6.70',
>>> 'priceChangePercent': '4.404',
>>> 'weightedAvgPrice': '156.27',
>>> 'lastPrice': '158.82',
>>> '...': '......'},
>>> {'symbol': 'BLUEBIRDUSDT',
>>> 'priceChange': '0.10800',
>>> 'priceChangePercent': '1.381',
>>> 'weightedAvgPrice': '7.88532',
>>> 'lastPrice': '7.92700',
>>> '...': '......'},
>>> {'symbol': 'POLYXUSDT',
>>> 'priceChange': '0.0028000',
>>> 'priceChangePercent': '1.808',
>>> 'weightedAvgPrice': '0.1557668',
>>> 'lastPrice': '0.1577000',
>>> '...': '......'},
>>> {'symbol': 'ATOMUSDT',
>>> 'priceChange': '0.142',
>>> 'priceChangePercent': '1.546',
>>> 'weightedAvgPrice': '9.205',
>>> 'lastPrice': '9.327',
>>> '...': '......'},
>>> '......'],
>>> 'msg': ''}
# 现货单个产品
hr24_result = market.get_ticker_24hr(symbol='BTCUSDT')
eprint(hr24_result)
输出:
>>> {'code': 200,
>>> 'data': {'symbol': 'BTCUSDT',
>>> 'priceChange': '253.80',
>>> 'priceChangePercent': '0.636',
>>> 'weightedAvgPrice': '39934.69',
>>> 'lastPrice': '40148.20',
>>> 'lastQty': '0.022',
>>> 'openPrice': '39894.40',
>>> 'highPrice': '40300.00',
>>> 'lowPrice': '39535.30',
>>> 'volume': '209588.044',
>>> 'quoteVolume': '8369834245.01',
>>> 'openTime': 1706158980000,
>>> 'closeTime': 1706245408978,
>>> 'firstId': 4527594884,
>>> 'lastId': 4530284646,
>>> 'count': 2689755},
>>> 'msg': ''}
4. 历史K线 get_klines
# 测试时间
startDatetime = '2023-01-01 00:00:00'
endDatetime = '2023-01-01 00:05:00'
startTime = int(datetime.datetime.strptime(startDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)
endTime = int(datetime.datetime.strptime(endDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)print(startDatetime, startTime)
print(endDatetime, endTime)
输出:
>>> 2023-01-01 00:00:00 1672502400000
>>> 2023-01-01 00:05:00 1672502700000
# 仅给定终止时间
kline_result = market.get_klines(symbol='BTCUSDT', interval='1m', endTime=endTime, limit=2)
eprint(kline_result)
输出:
>>> {'code': 200,
>>> 'data': [[1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>> [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>> 'msg': ''}
# 仅给定起始和终止时间
kline_result = market.get_klines(symbol='BTCUSDT',interval='1m',startTime=startTime, # 包括startTimeendTime=endTime, # 包括endTime
)
eprint(kline_result)
输出:
>>> {'code': 200,
>>> 'data': [[1672502400000, '16586.10', '16591.20', '16586.00', '16591.10', '......'],
>>> [1672502460000, '16591.10', '16591.50', '16590.80', '16590.90', '......'],
>>> [1672502520000, '16590.80', '16591.70', '16590.80', '16591.70', '......'],
>>> [1672502580000, '16591.60', '16591.70', '16587.90', '16587.90', '......'],
>>> [1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>> [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>> 'msg': ''}
5. 深度信息 get_depth
depth_result = market.get_depth(symbol='BTCUSDT', limit=5)
eprint(depth_result)
输出:
>>> {'code': 200,
>>> 'data': {'lastUpdateId': 3888878453883,
>>> 'E': 1706245426397,
>>> 'T': 1706245426390,
>>> 'bids': [['40152.50', '0.131'],
>>> ['40152.40', '0.008'],
>>> ['40152.20', '0.005'],
>>> ['40152.10', '0.013'],
>>> ['40151.90', '0.038']],
>>> 'asks': [['40152.60', '3.099'],
>>> ['40152.70', '0.008'],
>>> ['40152.80', '0.008'],
>>> ['40152.90', '0.005'],
>>> ['40153.00', '0.005']]},
>>> 'msg': ''}
6. 成交查询
6.1 近期成交列表 get_trades
trades_result = market.get_trades(symbol='BTCUSDT', limit=5)
eprint(trades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'id': 4530285100,
>>> 'price': '40151.90',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285101,
>>> 'price': '40151.70',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285102,
>>> 'price': '40151.60',
>>> 'qty': '0.005',
>>> 'quoteQty': '200.75',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285103,
>>> 'price': '40151.50',
>>> 'qty': '0.002',
>>> 'quoteQty': '80.30',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285104,
>>> 'price': '40151.20',
>>> 'qty': '0.026',
>>> 'quoteQty': '1043.93',
>>> 'time': 1706245428266,
>>> '...': '......'}],
>>> 'msg': ''}
6.2 查询历史成交 get_historicalTrades
historicalTrades_result = market.get_historicalTrades(symbol='BTCUSDT', limit=5) # 这个接口需要key
eprint(historicalTrades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'id': 4530285131,
>>> 'price': '40151.30',
>>> 'qty': '0.004',
>>> 'quoteQty': '160.60',
>>> 'time': 1706245430957,
>>> '...': '......'},
>>> {'id': 4530285132,
>>> 'price': '40151.30',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245431264,
>>> '...': '......'},
>>> {'id': 4530285133,
>>> 'price': '40151.20',
>>> 'qty': '0.007',
>>> 'quoteQty': '281.05',
>>> 'time': 1706245431698,
>>> '...': '......'},
>>> {'id': 4530285134,
>>> 'price': '40151.20',
>>> 'qty': '0.006',
>>> 'quoteQty': '240.90',
>>> 'time': 1706245431698,
>>> '...': '......'},
>>> {'id': 4530285135,
>>> 'price': '40151.20',
>>> 'qty': '0.110',
>>> 'quoteQty': '4416.63',
>>> 'time': 1706245431698,
>>> '...': '......'}],
>>> 'msg': ''}
6.3 近期成交(归集) get_aggTrades
aggTrades_result = market.get_aggTrades(symbol='BTCUSDT', limit=5)
eprint(aggTrades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'a': 2000008269, 'p': '40151.20', 'q': '0.003', 'f': 4530285152, 'l': 4530285152, '...': '......'},
>>> {'a': 2000008270, 'p': '40151.20', 'q': '0.422', 'f': 4530285153, 'l': 4530285176, '...': '......'},
>>> {'a': 2000008271, 'p': '40151.10', 'q': '0.008', 'f': 4530285177, 'l': 4530285178, '...': '......'},
>>> {'a': 2000008272, 'p': '40151.00', 'q': '0.005', 'f': 4530285179, 'l': 4530285179, '...': '......'},
>>> {'a': 2000008273, 'p': '40150.90', 'q': '0.005', 'f': 4530285180, 'l': 4530285180, '...': '......'}],
>>> 'msg': ''}
7. 交易规范信息 get_exchangeInfo
exchangeInfo_result = market.get_exchangeInfo()
eprint(exchangeInfo_result)
输出:
>>> {'code': 200,
>>> 'data': {'timezone': 'UTC',
>>> 'serverTime': 1706241611125,
>>> 'futuresType': 'U_MARGINED',
>>> 'rateLimits': [{'rateLimitType': 'REQUEST_WEIGHT', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 2400},
>>> {'rateLimitType': 'ORDERS', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 1200},
>>> {'rateLimitType': 'ORDERS', 'interval': 'SECOND', 'intervalNum': 10, 'limit': 300}],
>>> 'exchangeFilters': [],
>>> 'assets': [{'asset': 'USDT', 'marginAvailable': True, 'autoAssetExchange': '-10000'},
>>> {'asset': 'BTC', 'marginAvailable': True, 'autoAssetExchange': '-0.10000000'},
>>> {'asset': 'BNB', 'marginAvailable': True, 'autoAssetExchange': '-10'},
>>> {'asset': 'ETH', 'marginAvailable': True, 'autoAssetExchange': '-5'},
>>> {'asset': 'XRP', 'marginAvailable': True, 'autoAssetExchange': '0'},
>>> '......'],
>>> 'symbols': [{'symbol': 'BTCUSDT',
>>> 'pair': 'BTCUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'ETHUSDT',
>>> 'pair': 'ETHUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'BCHUSDT',
>>> 'pair': 'BCHUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'XRPUSDT',
>>> 'pair': 'XRPUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'EOSUSDT',
>>> 'pair': 'EOSUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> '......']},
>>> 'msg': ''}
相关文章:
1.4 Binance_interface API U本位合约行情
Binance_interface API U本位合约行情 Github地址PyTed量化交易研究院 1. API U本位合约行情接口总览 方法解释Pathget_ping测试服务器连通性 PING/fapi/v1/pingget_time获取服务器时间/fapi/v1/timeget_exchangeInfo获取交易规则和交易对/fapi/v1/exchangeInfoget_depth深度…...

单片机学习笔记---AT24C02(I2C总线)
目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…...
c++恶魔轮盘制造第1期输赢
小常识,恶魔叫DEALER。 赢了很简单 void sheng() { cout<<"你获胜了!";MessageBox(NULL,TEXT("你的钱~~~~~~给你"),TEXT("DEALER"),MB_OK);system("pause");system("cls"); } 输了我用了个选…...
60-JS-Ajax
ajax取数据的一种手段,局部刷新,例如弹幕 1.ajax的使用,创建ajax对象,发起对服务器请求 2.核心对象XMLHttpRequest对象(简称XHR) CSS:Cascading Style Sheets(层叠样式表) HTML:Hypertext Markup Language(超文本标记语言) 3.发起对服务器的请求 浏览器方式请求:打…...
C# Avalonia 折线图
线图开发在C# Avalonia框架中可以通过多种方式实现。由于Avalonia旨在成为跨平台的UI框架,您可以利用多种库和方法来绘制折线图。以下是一个简单的例子,展示了如何在Avalonia应用程序中创建一个基本的折线图。 首先,您需要在Avalonia项目中包…...

Vue3中Setup概述和使用(三)
一、引入Setup 1、Person.Vue 与Vue3编写简单的App组件(二) 中的区别是:取消data、methods等方法,而是将数据和方法定义全部放进setup中。 <template><div class"person"><h1>姓名:{{name}}</h1><h1>年龄:{{age}}</h…...

hexo 博客搭建以及踩雷总结
搭建时的坑 文章置顶 安装一下这个依赖 npm install hexo-generator-topindex --save然后再文章的上面设置 top: number,数字越大,权重越大,也就是越靠顶部 hexo 每次推送 nginx 都访问不到 宝塔自带的 nginx 的 config 里默认的角色是 …...

WordPress后台编辑个人资料页面直接修改用户名插件Change Username
前面跟大家介绍了『如何修改WordPress后台管理员用户名?推荐2种简单方法』一文,但是对于新站长或者有很多用户的站长来说,操作有点复杂,所以今天向大家推荐一款可以直接在WordPress后台编辑个人(用户)资料页…...

ssm+vue的医药垃圾分类管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
演示视频: ssmvue的医药垃圾分类管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…...
LLM大模型基本概念,及其相关问题汇总(1)
什么是涌现?为什么会出现涌现? "大模型的涌现能力"这个概念可能是指大型神经网络模型在某些任务上表现出的出乎意料的能力,超出了人们的预期。出现的原因从结论上来看,是模型不够好,导致的原因主要是&#…...

【已解决】pt文件转onnx后再转rknn时得到推理图片出现大量锚框变花屏
前言 环境介绍: 1.编译环境 Ubuntu 18.04.5 LTS 2.RKNN版本 py3.8-rknn2-1.4.0 3.单板 迅为itop-3568开发板 一、现象 采用yolov5训练并将pt转换为onnx,再将onnx采用py3.8-rknn2-1.4.0推理转换为rknn,rknn模型能正常转换,…...
DevOps文章之 操作手册用户使用说明书
前言 最近主导了几个项目操作手册的编写。有新开发的项目,要重新编写操作手册;有中途接手别的项目,后来功能迭代,需要更新原操作手册;有客户对操作手册有意见,需要调整;零零散散写了数万字的手…...

【RT-DETR进阶实战】利用RT-DETR进行视频划定区域目标统计计数
👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 Hello,各位读者,最近会给大家发一些进阶实战的讲解,如何利用RT-DETR现有的一些功能进行一些实战, 让我们不仅会改进RT-DETR,也能够利用RT-DETR去做一些简单的小工作,后面我也会将这些功能利用PyQt或者是…...
2.11学习总结
有效点对https://www.acwing.com/problem/content/description/5472/ 给定一个 n� 个节点的无向树,节点编号 1∼n1∼�。 树上有两个不同的特殊点 x,y�,�,对于树中的每一个点对 (u,v)(u≠v)(�,…...

以谷歌浏览器为例 讲述 JavaScript 断点调试操作用法
今天来说个比较实用的东西 用浏览器开发者工具 对 javaScript代码进行调试 我们先创建一个index.html 编写代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…...

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}
Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令,也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…...

Unity2D 学习笔记 0.Unity需要记住的常用知识
Unity2D 学习笔记 0.Unity需要记住的常用知识 前言调整Project SettingTilemap相关(创建地图块)C#脚本相关程序运行函数private void Awake()void Start()void Update() Collider2D碰撞检测private void OnTriggerStay2D(Collider2D player)private void…...
vue3-应用规模化-单文件组件
单文件组件概念 Vue 的单文件组件 (即 *.vue 文件,英文 Single-File Component,简称 SFC) 是一种特殊的文件格式,使我们能够将一个 Vue 组件的模板、逻辑与样式封装在单个文件中。下面是一个单文件组件的示例: <script setup…...

Redis -- 渐进式遍历
家,是心的方向。不论走多远,总有一盏灯为你留着。桌上的碗筷多了几双,笑声也多了几分温暖。家人团聚,是最美的风景线。时间:2024年 2月 8日 12:51:20 目录 前言 语法 示例 前言 试想一个场景,那就是在key非常多的…...
使用 C++23 从零实现 RISC-V 模拟器(3):指令解析
指令解析 这章内容进一解析更多的指令,此外将解析指令的过程拆分为一个单独的类,采用表格驱动的方式,将数据和逻辑分离,降低了 if else 嵌套层数过多。 这部分依旧改动不多,只增加了七个指令。此外代码中细碎的变动没…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...