Php 为什么';文件内容总是有效的吗?

Php 为什么';文件内容总是有效的吗?,php,api,Php,Api,我正在编写一个应用程序,将使用api从Minecraft帐户获取数据。 有时它返回数据,但有时什么也不返回。有什么想法吗 代码如下 form.php <form action="info.php" method="post"> <table> <tr> <td>Minecraft Username: </td> <td><input type="t

我正在编写一个应用程序,将使用api从Minecraft帐户获取数据。 有时它返回数据,但有时什么也不返回。有什么想法吗

代码如下

form.php

<form action="info.php" method="post">
    <table>
        <tr>
            <td>Minecraft Username: </td>
            <td><input type="text" name="name"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Get UUID!"></td>
        </tr>
    </table>
</form>

Minecraft用户名:
info.php

<?php
  $uuid = "";
  $premium = "";
  $migrated = "";
  if(!(isset($_POST['name']))) {
    include('form.php');
    echo "Select A Username Please!";
  }else {
    $username = $_POST['name'];
    echo "<table>";
    echo "<tr><td>Username: </td><td>$username</td></tr>";
    flush();
    if($username == "Herobrine") {
        $uuid     = "Error.";
        echo "<tr><td>UUID: </td><td>$uuid</td></tr>";
        flush();
        $migrated = "Error.";
        echo "<tr><td>Migrated: </td><td>$migrated</td></tr>";
        flush();
        $premium  = "Error.";
        echo "<tr><td>Premium: </td><td>$premium</td></tr>";
        flush();
        $skin     = "javascript:alert('Error.');";
        echo "<tr><td>Skin: </td><td><a href=\"$skin\">Download</a></td></tr>";
        flush();
    }else {
        include_once("functions.php");
        $info = new Getter();
        $uuid     = $info->uuid($username);
        echo "<tr><td>UUID: </td><td>$uuid</td></tr>";
        $migrated = $info->migrated($username);
        echo "<tr><td>Migrated: </td><td>$migrated</td></tr>";
        $premium  = $info->premium($username);
        echo "<tr><td>Premium: </td><td>$premium</td></tr>";
        $skin     = $info->skin($username);
        echo "<tr><td>Skin: </td><td><a href=\"$skin\">Download</a></td></tr>";
    }   
  }
  echo "</table>";
?>

我发现这是因为除非您提供用户代理,否则响应服务器不会响应

file_get_contents("http://theminecraftapi.com/v1/?get=premium&user=$username"),false,stream_context_create(
    array("http" => array("user_agent" => "any"))
));

你确定你总是传递正确的用户名吗?有时会超时吗?API是否有每日或每小时超出的限制?请参阅以了解如何从
文件\u get\u contents()
检查HTTP响应,这将帮助您调试它。API相当新,我使用的是正确的用户名,它没有任何限制或API键。获取UUID:我不知道ByetHost是否允许卷曲。有人能告诉我如何将其转换为cURL to check吗?调用phpinfo()并检查已安装的扩展以查找cURL。但也要检查http回答如第一个链接问题中所示。在验证fgcSOrry的问题之前不要跳转到curl,Mojang官方api此时已关闭。我没有意识到这一点。
file_get_contents("http://theminecraftapi.com/v1/?get=premium&user=$username"),false,stream_context_create(
    array("http" => array("user_agent" => "any"))
));