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