file_get_contents HTTP请求失败! HTTP / 1.1 501方法未实现

时间:2013-09-28 23:11:25

标签: php

我正在尝试从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';

并收到同样的错误

1 个答案:

答案 0 :(得分:3)

这是一个有趣的问题,因为如果您使用实际帐户名称(例如Stallionh83Major 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字符串。