PHP: GET API Information's via Link

paulick10

Cadet 4th Year
Registriert
März 2017
Beiträge
88
Hey Leute, ich bin neu in der Welt von PHP und arbeite mit Laravel.

Ich möchte jetzt einfach nur diesen command:

Code:
GET https://api.planetteamspeak.com/serverstatus/84.200.62.248:9987/

in eine PHP Page einbinden.

Also so das die Daten als Text auf meiner Seite ausgegeben werden,
Wie kann ich das realisieren?

Ja, ich habe gegoogelt, finde aber iwie nicht die passende Antwort.


Danke und ein schönes Wochenende :)
 
Hallo paulick,

wenn du es mit PHP machen willst versuche doch:
Code:
http_get("https://api.planetteamspeak.com/serverstatus/84.200.62.248:9987/")

Ich würde aber eher JS empfehlen und die Abfrage vom Client machen lassen.
Plain:
Code:
function httpGet(theUrl, callback)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
            // weitere Verarbeitung per callback wenn die Antwort da ist
            callback(xmlHttp.response);
        }
    }
    xmlHttp.open("GET", theUrl, true);
    xmlHttp.send(null);
}
httpGet("https://api.planetteamspeak.com/serverstatus/84.200.62.248:9987/", callback) // in callback verarbeitest du die Daten

jQuery:
Code:
$.ajax({
  url: "https://api.planetteamspeak.com/serverstatus/84.200.62.248:9987/",
}).done(function(data) {
   // Antwort liegt im data Element, heißt hier weitermachen
});

Falls du weitere Fragen hast, stell sie einfach.

Gruß
tconex
 
Zuletzt bearbeitet: (Plain JS war gerade nur schnell geschreiben aber nicht getestet, so funktioniert es auch ;))
Okay danke, ich probiere es mal aus und melde mich dann nochmal! :)
 
Du willst ja nur den nackten Inhalt, http_get ist da schon fast übertrieben.
mit file_get_contents bekommst du tatsächlich nur den Seiteninhalt, den kannst du direkt (in diesem Fall) mit json_decode in ein vernünftiges Objekt konvertieren und komfortabel auf die einzelnen Elemente drauf zugreifen, z.B.:
Code:
$serverinfo = json_decode(file_get_contents('https://api.planetteamspeak.com/serverstatus/84.200.62.248:9987/'));
echo "<br>name: ".$serverinfo->result->name;
echo "<br>address: ".$serverinfo->result->address;
echo "<br>country: ".$serverinfo->result->country;
echo "<br>users: ".$serverinfo->result->users;
echo "<br>slots: ".$serverinfo->result->slots;
echo "<br>online: ".$serverinfo->result->online;
echo "<br>password: ".$serverinfo->result->password;
echo "<br>createchannels: ".$serverinfo->result->createchannels;
echo "<br>premium: ".$serverinfo->result->premium;
echo "<br>hidden: ".$serverinfo->result->hidden;
echo "<br>serverquery: ".$serverinfo->result->serverquery;
 
Super, Danke für deine Mühe!

Ein schönes Wochenende! :)
 
Zurück
Oben