这个API出了什么问题?

时间:2017-01-27 03:21:32

标签: php pdo

我正在为我的朋友编写一个网站,该网站扮演Habbo Hotel,这是一款虚拟游戏。他把我联系到了一些API。 http://habboemotion.com/guide/habinfo& http://habboemotion.com/guide/habboapi

我一直在使用此代码来显示来自api的数据。

<?php

  $info = habbo( "Tyler", "com" );
  if( $info ) {
    foreach( $info->user AS $name ) {
      echo $name->motto;
    }
  } else {
    echo "Habbo not found";
  }

?>

为什么没有出现?它似乎只是一个空白屏幕。

1 个答案:

答案 0 :(得分:0)

正如之前的人所说,请确保包含你的habbo()函数。

我更改了habbo()函数以删除gzip压缩和gzinflate()。这似乎解决了空白页问题。然而,加载页面似乎需要几秒钟而且速度很慢。

似乎还不允许$ user-&gt;座右铭。因此,我用$ friends-&gt;座右铭替换了它。

希望这有帮助!我对API仍然很陌生。

<?php

error_reporting(E_ALL); // Debugging
ini_set('display_errors', 1); // Debugging

function habbo( $name, $hotel ) {

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, "https://www.habbo." . $hotel .     "/api/public/users" );
curl_setopt( $ch, CURLOPT_HEADER, false );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Accept-Encoding: identity' ) ); // Changed to "identity"
curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );

$response = curl_exec( $ch ); // Added
//$get = gzinflate( substr( curl_exec( $ch ), 10, -8 ) );
//preg_match( "/setCookie\((.*)\);/", $get, $get );
//$get = explode( ",", str_replace( array( "'", " " ), "", $get[1] ) );

//curl_setopt( $ch, CURLOPT_HTTPHEADER, array( "Cookie:" . $get[0] . "=" .     $get[1] ) );
curl_setopt( $ch, CURLOPT_URL, "http://www.habbo." . $hotel .  "/api/public/users?name=" . $name );

$id = json_decode( curl_exec( $ch ) );

if( isset( $id ) && $id->profileVisible == 1 ) {

  curl_setopt( $ch, CURLOPT_URL, "http://www.habbo." . $hotel . "/api/public/users/" . $id->uniqueId . "/profile" );
  $info = json_decode( curl_exec( $ch ) );

} else 
  $info = false;

curl_close( $ch );

return $info;

}

这是函数调用:

$info = habbo( "Tyler", "com" );
if( $info ) {
    foreach( $info->friends AS $friend ) {
    echo $friend->motto . "<br />";
}
} else {
echo "habbo not found or homepage hidden";
}

?>