在
$output = curl_exec($ch);
这行代码后面添加以下内容:
$info = curl_getinfo($ch);
echo "<pre>";
print_r($info);
echo "</pre>";
请在此处打印您在浏览器中看到的内容,没有这些信息,人们将无法帮助您。
我运行了您的代码,它能够正常工作。我的HTTP响应码是200,页面成功加载。该页面显示:"找不到指定的配置文件"(没问题,因为我没有密钥)。
我的
$info
输出为:
Array
(
[url] => http://steamcommunity.com/profiles//inventory/json/730/2
[content_type] => text/html; charset=UTF-8
[http_code] => 200
[header_size] => 927
[request_size] => 109
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.561
[namelookup_time] => 0.062
[connect_time] => 0.109
[pretransfer_time] => 0.109
[size_upload] => 0
[size_download] => 18266
[speed_download] => 32559
[speed_upload] => 0
[download_content_length] => 18266
[upload_content_length] => -1
[starttransfer_time] => 0.561
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 2.17.165.89
[certinfo] => Array
(
)
[primary_port] => 80
[local_ip] => 192.168.1.33
[local_port] => 53366
)
一切都运行得很完美。也许你与steamcommunity.com的连接不太好?如果你收到 [http_code] => 0
这个代码,就意味着是这个原因。
如果添加以下代码,你会看到什么:
print_r($output);
可能页面已经加载了,但不是JSON格式?如果是这样,请检查您的$json
是否为空,这是完全可以的。
在您的评论后更新:
您收到了302 HTTP代码和重定向URL。 您需要访问此URL,然后您将收到JSON响应。完整代码如下:
$url = 'http://steamcommunity.com/profiles/<your 64-bit steam ID>/inventory/json/730/2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_setopt($ch, CURLOPT_URL, $info["redirect_url"]);
$output = curl_exec($ch);
$json = json_decode($output, true);
print_r($json);