Wie die vorherige Person sagte, stellen Sie sicher, dass Sie Ihre habbo() -Funktion einbeziehen.
Ich habe die Habbo() -Funktion geändert, um Gzip-Komprimierung und Gzinflate() zu entfernen. Das schien das Problem mit der leeren Seite zu beheben. Es scheint jedoch ein paar Sekunden zu dauern, um die Seite zu laden und ist auf der langsamen Seite.
Es würde auch scheinen, dass $ user-> Motto nicht erlaubt ist. Als solche habe ich es durch $ freunde-> Motto ersetzt.
Hoffe, das hilft! Ich bin immer noch sehr neu in APIs.
<?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;
}
Hier ist die Anruffunktion:
$info = habbo("Tyler", "com");
if($info) {
foreach($info->friends AS $friend) {
echo $friend->motto . "<br />";
}
} else {
echo "habbo not found or homepage hidden";
}
?>
Haben Sie das 'Habbo tatsächlich definieren()' Funktion in einer Datei und 'include/require' es wie in dem verknüpften Beispiel? Wenn Sie PHP-Code entwickeln und testen, aktivieren Sie immer die Fehleranzeige. Ein leerer Bildschirm, wenn die Ausgabe erwartet wird, weist normalerweise auf einen schwerwiegenden Fehler in Ihrem Code hin. Ganz oben im Skript: 'error_reporting (E_ALL); ini_set ('display_errors', 1); ' –