我当前试图从网站上获取数据,并在我的PHP脚本中使用它。
我想要达到的链接是: http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name=★%20Bayonet
这是我的代码:
<?php
$skin = $_GET['market_hash_name'];
$link = "http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name=".$skin."";
$FN = file_get_contents($link);
echo $FN;
?>
这就是我使用链接的方式:
http://myhost.com/getPrice.php?market_hash_name=★ Bayonet
这是我得到的错误:
警告:file_get_contents(http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name =â€... Bayonet):无法打开流:HTTP请求失败!第5行的F:\ xampp \ htdocs \ getPrice.php中的HTTP / 1.0 500内部服务器错误
编辑:
好的,所以我找到了解决问题的方法,但现在又出现了一个新的错误:
警告:file_get_contents(http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name=%E2%98%85+Bayonet+%7C+Stained(Factory New)):无法打开流:HTTP请求失败!第7行的F:\ xampp \ htdocs \ getPrice.php中的HTTP / 1.0 500内部服务器错误
这就是我现在使用链接的方式:
getPrice.php?market_hash_name =★刺刀|染色
这是我的代码:
function getPrice($string) {
$skin = urlencode($_GET['market_hash_name']);
$link = "http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name=".$skin." ".$string;
$content = file_get_contents($link);
$data = json_decode($content, true);
return $data['lowest_price'];
}
$FN = getPrice("(Factory New)");
$MW = getPrice("(Minimal Wear)");
$FT = getPrice("(Field-Tested)");
$WW = getPrice("(Well-Worn)");
$BS = getPrice("(Battle-Scarred)");
echo "Factory New: $FN; Minimal Wear: $MW; Field-Tested: $FT; Well-Worn: $WW; Battle-Scared: $BS";
答案 0 :(得分:1)
在其他字符中,非ASCII字符必须在查询字符串中为URL-encoded (aka percent-encoded)。
$skin = url_encode($_GET['market_hash_name']);
$link = "http://steamcommunity.com/market/priceoverview/?country=US¤cy=3&appid=730&market_hash_name=".$skin."";
$FN = file_get_contents($link);