java - 此请求的时间戳在 recvWindow 之外
问题描述
我正在尝试使用以下代码发出请求:
public JsonObject account() throws BinanceApiException {
return (new Request(baseUrl + "v3/account"))
.sign(apiKey, secretKey, null).read().asJsonObject();
}
但我收到此错误:
BinanceApiException:错误:-1021,此请求的时间戳在 recvWindow 之外。
我知道这与我的计算机和服务器之间的时间同步有关。每次运行此代码时,我都不会收到此错误。过去,我通过转到 Windows 设置、日期和时间、Internet 时间设置并将我的时间同步到 time.windows.com 来解决此错误。
解决方案
看起来像Binance API Error: {"code":-1021,"msg":"Timestamp for this request is outside the recvWindow."} 的副本。
您需要将计算机上的时间与 Binance 而不是 time.windows.com 同步。您可以使用https://binance-docs.github.io/apidocs/spot/en/#test-connectivity检查服务器时间端点:
GET /api/v3/time
另一个可能的原因(至少我遇到过) - 在调试模式下逐步执行请求。
默认的 recvWindow 是 5 秒。如果需要,您也可以覆盖它。
推荐阅读
- android - bitmapFactoryOptions.outWidth 和 Height 返回 -1
- javascript - 模拟由 Redux Provider 组件封装的 React 组件函数
- go - 对结构字段进行持久更改*并且*满足 Writer 接口?
- ember.js - EmberJS“详细信息”页面自动获取模型 - 这正常吗?
- javascript - 解析文件并创建符合特定条件的键值对
- java - 从命令行启动时,Spring Batch 不产生日志输出
- android - 为什么Android Studio arm64系统镜像很慢?
- node.js - 如何修复节点中注释长度无效的无效 zip 文件(供 yauzl 等严格库使用)
- php - Laravel 5.6 auth 指令不适用于某些视图
- r - 如何检查列表是否包含`NA`?