通过API(PHP)蒸汽项目历史

时间:2016-02-04 22:12:46

标签: php steam steam-web-api

我在各个方面的编程都比较新,所以在提出愚蠢的问题时请耐心等待。我想通过Steam的市场API获取所选商品的蒸汽价格历史记录,当我登录Steam时可以通过我的浏览器轻松访问。事情是,我想通过服务器来实现,这会给我带来以下错误:

  

警告:file_get_contents(http://steamcommunity.com/market/pricehistory/?currency=1&appid=440&market_hash_name=Specialized%20Killstreak%20Brass%20Beast):无法打开流:HTTP请求失败!第16行 PATH 中的HTTP / 1.0 400错误请求

基本上,我的问题与这个人的问题相同:How to retrieve steam market price history?,但他的答案是针对Python的,我真的对Python语言一无所知。 如果想在PHP中这样做,或者如果在PHP中不可能,我可以使用JavaScript。

我没有要求我可以复制粘贴的代码,我对任何事情都很开心。

我想要开始工作的代码:

// $page is the URL above
$json = json_decode(file_get_contents($page), true);
if($json["success"] == true OR !empty($json))
{
    $results = $json["prices"];
    foreach ($results as $result)
    {
        echo $result . "<br>";
    }

1 个答案:

答案 0 :(得分:0)

您链接的答案设置steamLogin Cookie以启用对Steam API的访问权限。如果您从浏览器的Cookie中获取该Cookie,则可以将其添加到file_get_contents请求中,如下所示:

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=> "Cookie: steamLogin=76561198058933558%7C%7C2553658936E891AAD\r\n"
  )
);

$context = stream_context_create($opts);

// Call the API using the HTTP headers set above
$file = file_get_contents('http://steamcommunity.com/market/pricehistory/?currency=1&appid=440&market_hash_name=Specialized%20Killstreak%20Brass%20Beast', false, $context);

reference question