Fortnite Tracker API仅在本地计算机上运行?

时间:2018-04-17 16:39:14

标签: php json api

我目前正在创建一个使用我的Fortnite统计数据作为数据的bootstrap网站,并最终将其发布在我的抽搐Feed上。但是,当我在本地计算机上运行时,我设法让它完美地运行,但是当我将它上传到我的hostgator目录时,网站加载得很好,它只是没有数据。我相信的错误是指我的JSON文件,但我假设发生此错误的唯一原因是因为没有数据,因为它没有使用Fortnite API时除了我的本地机器之外的其他任何东西。有没有其他人曾经经历过这样的事情?

错误:

  

源映射错误:SyntaxError:JSON.parse:意外的字符   第2行JSON数据的第1列

     

源地图网址:bootstrap.min.css.map

这是我的代码,我认为发布它并没有多大意义,就好像它在我的本地机器逻辑上运行一样,说它很好,对吧?

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.fortnitetracker.com/v1/profile/psn/myusername");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'TRN-Api-Key: mykey'
));
$response = curl_exec($ch);
curl_close($ch);
$fp = fopen("stats.json", "w");
fwrite($fp, $response);
fclose($fp);

$data = json_decode(file_get_contents("stats.json"));
$solo = $data->stats->p2;//solos data
$duos = $data->stats->p10;//duos data
$squads = $data->stats->p9;//squads data
$solo_wins = $solo->top1->valueInt;
$duos_wins = $duos->top1->valueInt;
$squads_wins = $squads->top1->valueInt;
$solo_matches = $solo->matches->valueInt;
$duos_matches = $duos->matches->valueInt;
$squads_matches = $squads->matches->valueInt;
$solo_kd = $solo->kd->valueDec;
$duos_kd = $duos->kd->valueDec;
$squads_kd = $squads->kd->valueDec;
$solo_games = $solo->matches->valueInt;
$duos_games = $duos->matches->valueInt;
$squads_games = $squads->matches->valueInt;
$solo_kills = $solo->kills->valueInt;
$duos_kills = $duos->kills->valueInt;
$squads_kills = $squads->kills->valueInt;

?>

1 个答案:

答案 0 :(得分:2)

你认为其他人遇到了这个问题是正确的:似乎Hostgator不会自动允许组合SSH和cURL(link)。如果你谷歌"Hostgator cURL,你已经得到了一些有用的回复。有几个人(例如this一个和一个评论者here)报告说,更新到PHP 5.5 / 5.6可以解决问题。我当然建议你查看Stanislav在后来的评论中提出的建议。

另一种解决方案可能在于禁用CURLOPT_SSL_VERIFYPEER和其他SSL选项。

如果没有curl_exec返回的实际错误消息,您当前的问题并没有为我们提供足够的信息来查明问题。