我正在尝试从 json 编码页面中获取一些信息,但是在将值分配给变量时收到 HTTP/1.1 501 方法未实现错误$data
if(isset($_GET['xblaccount'])) {
$gamertag = htmlspecialchars(strip_tags($_GET['xblaccount']));
$url = 'http://www.xboxleaders.com/api/profile.json?gamertag=' . urlencode($gamertag);
$data = file_get_contents($url);
}
我也试过
$gamertag = 'kfj32j8fj23f';
并收到相同的错误
这是一个有趣的问题,因为如果您使用实际的帐户名称(例如 Stallionh83
或Major Nelson
)。
发现这一点后,我在浏览器 (FF) 中检查了标头,该浏览器也返回了 501 响应标头。因此,我假设这是非帐户的服务器端响应。
考虑到这一点,我建议编辑您的代码以:
if(isset($_GET['xblaccount'])) {
$gamertag = htmlspecialchars(strip_tags($_GET['xblaccount']));
$url = 'http://www.xboxleaders.com/api/profile.json?gamertag=' . urlencode($gamertag);
$data = @file_get_contents($url); // @ to suppress the warning
if($data){
//Account exists...
}
else{
//Account doesn't exist...
}
}
如果帐户不存在,$data
将返回FALSE
,否则将返回JSON
字符串。