从steam检索物品价格历史记录

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

我正在尝试从 Steam 市场物品中检索价格历史记录,我发现这是我所需要的,也是我将用作获取价格历史记录的基础:

http://steamcommunity.com/market/pricehistory/?country=PT¤cy=3&appid=730&market_hash_name=Falchion%20Case

在浏览器中,它可以完美运行,生成带有价格历史记录的 JSON,但在 PHP 中,它返回以下内容:

Warning: file_get_contents(http://steamcommunity.com/market/pricehistory/?country=PT&currency=3&appid=730&market_hash_name=Falchion%20Case): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in E:\...\test.php on line 3

已经尝试过使用

curls
解决问题,但到目前为止似乎没有任何效果。

到目前为止的代码是:

<?php

echo file_get_contents("http://steamcommunity.com/market/pricehistory/?country=PT&currency=3&appid=730&market_hash_name=Falchion%20Case");

?>
php steam-web-api
1个回答
0
投票

正如here所提到的,最好尝试

curl()
以获得更精确的错误消息,从而获得更好的答案。

目前您还应该知道一件事 - Steam 可能已经对使用此网址获取物品价格的人采取了一些行动。您的

400 Bad Request
可能(而且很可能)是由于未发送页面所需的所有信息而引起的。

例如 - 在您开始自己实现时,页面可能不需要任何 POST/GET 参数,但随着链接的知识变得太普遍,Steam 决定添加另一个参数来过滤掉生成高值的第三方。加载。

可能的解决方法是深入挖掘该网址的起源(例如谁以及如何找到它),重现第一次采取的步骤并找出自那时以来发生了什么变化。

我最好的猜测是有人嗅探(Wireshark、Fiddler 等),应用程序在检索商品价格历史记录时发送了什么,这就是人们找到链接的方式。你也可以尝试一下。

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