0
我使用cURL查詢Minecraft服務器,以便顯示有關服務器的某些信息。不能使用cURL返回的數據?
代碼:
$url = URL . '/api.php';
$params= 'case=getinfo';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$gameinfo = curl_exec($ch);
var_dump($gameinfo);
如果我傾倒返回的數據,我得到:
echo $gameinfo["hostname"];
echo $gameinfo->hostname;
echo $gameinfo[0]["hostname"];
echo $gameinfo[0]->hostname;
using foreach($gameinfo as $info)
爲:
string(264) """{"hostname":"A Minecraft Server","gametype":"SMP","game_id":"MINECRAFT","version":"1.9","plugins":"CraftBukkit on Bukkit 1.9-R0.1-SNAPSHOT: PlayerData 1.0","map":"world","numplayers":"0","maxplayers":"200","hostport":"25565","hostip":"192.168.1.20","players":[]}"
我已經使用在以下幾個方面的數據試過那些我或者得到非法字符串或非對象
那麼我該如何使用?
你不需要json_decode($ gameinfo);在你讀之前? – Sephedo
我也試過,沒有工作。它將整個事情變爲空。 –
你得到的字符串不是來自curl的對象,所以你需要先讓它成爲一個對象,然後才能訪問鍵值對。 – scrappedcola