我正在尝试从json ecoded页面获取一些信息,但是当我将值赋给变量$ data时,我收到了HTTP / 1.1 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);
}
我也试过
$gamertag = 'kfj32j8fj23f';
并收到同样的错误
答案 0 :(得分:3)
这是一个有趣的问题,因为如果您使用实际帐户名称(例如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
字符串。