如何获得市场上多个价格项目的反应

2024-01-10

我通过以下链接查看背包 cs:go 中每件物品的价格:

但以 100 件商品为例,我检查 100 个链接以获取所有商品的价格。

是否可以查询带有许多商品的 steam,而 steam 只响应一个包含所有请求价格的 json?

我希望它是一个这样的系统,你将一个包含你想要知道价格的所有物品的classid的数组发送到一个steam url,然后steam向你发送一个包含你的数组的所有价格的json。对于steam来说,这并不困难,而且速度非常快,对我来说,这对查询速度非常有帮助,而且更容易。


是否可以查询带有许多商品的 steam,而 steam 只响应一个包含所有请求价格的 json?

不,不可能使用许多项目查询 Steam,从而产生包含所有数据的单个响应,但是可以使用 cURL 的 multiget 发送多个请求,每个请求都会命中 Steam API,在单个 cURL 调用中返回多个响应。

卷曲多重执行的示例:

function curl_get_contents($data) {
    $curly = array();
    $mh = curl_multi_init();

    foreach ($data as $urlArray) {
        $curly[$urlArray['name']] = curl_init();
        curl_setopt($curly[$urlArray['name']], CURLOPT_URL, $urlArray['url']);
        curl_setopt($curly[$urlArray['name']], CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curly[$urlArray['name']], CURLOPT_HEADER, false);
        curl_setopt($curly[$urlArray['name']], CURLOPT_RETURNTRANSFER, true);
        curl_multi_add_handle($mh, $curly[$urlArray['name']]);
    }

    $running = null;
    do {
        curl_multi_exec($mh, $running);
    } while ($running > 0);

    foreach ($curly as $id => $c) {
        curl_multi_remove_handle($mh, $c);
    }

    curl_multi_close($mh);
 }

我编写了一个与此非常相似的函数(删除了额外的代码,因为我不希望您只是复制/面食 - 学习)来获取一个数组数组,其中每个内部数组包含一个名称和一个 URL,并返回一个数组相应的数据 - 例如:

$curlyUrls = array(
        array(
        'name' => 'Item1 Response',
        'url'  => 'http://steamcommunity.com/market/priceoverview/?country=ZA&currency=3&appid=730&market_hash_name=Item1'
        ),
        array(
        'name' => 'Item2 Response',
        'url'  => 'http://steamcommunity.com/market/priceoverview/?country=ZA&currency=3&appid=730&market_hash_name=Item2'
        )
);

$curlyItemResponse = curl_get_contents($curlyUrls);

对于 100 多个项目,绝对不建议使用此方法。我使用它的次数不超过 10 次 - 太频繁地访问 Steam API 可能会导致您的连接受到某种限制,更不用说,如果调用得太频繁,您的每日 100K API 阈值将很快用完。

有一些解决方法,但我可以推荐的最佳方法是将已知商品的列表存储在数据库中,并创建一个 cronjob 来偶尔更新每个商品的价格,同时避免大量 API 调用 - 这样您就可以缓存每件商品的价格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获得市场上多个价格项目的反应 的相关文章

  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐