如何使用 PHP 或 JavaScript 请求超过 10000 次的 Steam API
How to request Steam API over 10000 times with PHP or JavaScript?
我需要调用 Steam 市场 API 超过 10000 个请求来获取所有商品价格。我想将它们保存在我的MySQL数据库中。但我的请求总是崩溃。有没有办法为太多的请求调用 API?
file_get_contents("http://steamcommunity.com/market/priceoverview/?country=US¤cy=1&appid=570&market_hash_name=$marketHashName")
例:
http://steamcommunity.com/market/priceoverview/?country=US¤cy=1&appid=570&market_hash_name=Dragonclaw%20Hook
Steam API 每天限制为 100,000 个请求——一天是在 24 小时内还是基于日历日并不完全清楚。 过去,我已经从同一个IP地址发出了数千个请求,没有任何问题。
您是否收到 403 响应代码? 如果是这样,您可能正在达到速率限制。 如果使用多个 IP 地址会有所帮助,我也会感到惊讶,因为速率限制可能与您的 API 密钥相关联。
这是一个古老的问题,但由于我正在做一些研究,包括Steam for Work,我想这可以帮助一些人。
首先,我们处理大量请求的方式是启动(在您的情况下为 10,000 个)调用请求并使用数据的进程 - 延迟 100 毫秒,否则我们的数据库将无法完成所有命令,它会弄乱保存的数据。我不知道您是否可以毫不拖延地发送所有这些请求。
其次,限制是每个日历日。您可以在一天内发送 100,000 个请求,从午夜开始再发送 100,000 个请求。
另一点是,我不知道当您发送超过 100,000 个请求时会发生什么。所以要小心。
您基本上需要通过不同的 IP 地址将请求拆分为多个请求,而不是 1 个 IP 发送 10,000 个请求。例如,10 个 IP 发送 1000 个请求,每个请求之间大约 500 毫秒。否则,Steam/Akamai 只会禁止您的 IP 进行泛洪或 DDoS 尝试。同样,10,000 个请求是很多请求,您将需要更好/更多的基础设施才能尝试有效地执行此操作。
- 根据Angular.JS上一次的内容禁用选择
- 使用每500ms运行一次的jquery函数是个好主意吗
- 如何对每个用户每天只允许单击一次的按钮进行编码
- 如何在不每秒调用太多次的情况下通过Soundcloud解析api进行循环
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- 创建一个重复x次的字符串
- 在一个页面中包含两次的脚本中调用函数
- 如果发现任何数据,如何停止每7秒运行一次的函数
- 计算两次的差值
- Angular指令删除只调用一次的DOM元素
- 点击一次的按钮没有启动
- 如何使用javascript在一秒钟内做60次的事情
- Javascript第一次的日期无效
- 绑定两次或更多次的事件 jquery
- 如何制作每 10 秒刷新一次的 jquery 表
- 如何创建只能单击一次的点击处理程序
- 在IE 8中以每秒50次的速度设置间隔slugish
- 嵌入两次的网址
- 如何使用 PHP 或 JavaScript 请求超过 10000 次的 Steam API
- 当我重复图像 10000 次时页面挂起.需要任何替代的jQuery或JavaScript解决方案