我在各个方面的编程都比较新,所以在提出愚蠢的问题时请耐心等待。我想通过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>";
}
答案 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);