NIST API 的速率限制

问题描述 投票:0回答:2

本质上,我正在尝试使用 CPE 查询 NIST API,以使用 python 收集有关该 CPE 的所有漏洞。 nist 文档说,如果你有一个 api 密钥(我有),你会在 60 秒的滚动窗口中收到 100 个请求,但是当我使用 aiohttp 只发出 24 个请求时,异步地我会收到 403 禁止错误,文本指出请求禁止通过行政规则。该文档还指出您应该在请求之间让脚本“休眠”六秒钟。所以我的问题是我应该发送多少请求,因为这些陈述似乎相互矛盾。为什么我会收到此错误?

python api rate-limiting
2个回答
1
投票

公共速率限制为 30 秒滚动窗口内 5 个请求。这意味着您在请求之间需要有 6 秒的睡眠时间。

如果您有 API 密钥,则可以在 30 秒的滚动窗口内发出 50 个请求。那是大约。每秒 2 个请求,无需休眠。如果您计划在允许的 30 秒窗口内发出更多请求,那么您可能必须实施适当的睡眠时间。


0
投票

参见 https://nvd.nist.gov/developers/start-here

速率限制

为防止拒绝服务攻击而制定的 NIST 防火墙规则,如果超过预定的速率限制,可能会阻止您的应用程序。公共速率限制(没有 API 密钥)是在 30 秒滚动窗口内 5 个请求; API 密钥的速率限制是在 30 秒滚动窗口内 50 个请求。请求 API 密钥会显着增加给定时间范围内可以发出的请求数量。但是,仍然建议您的应用程序在请求之间休眠几秒钟,以便合法请求不会被拒绝,并且所有请求都会按顺序响应。

© www.soinside.com 2019 - 2024. All rights reserved.