Wie der Zugriff auf RESTful-API über PHP
Ich bin ziemlich neu in PHP und das ganze der Arbeit mit Rest-APIs.
Alles was ich tun möchte, im moment ist erfolgreich ausstellen einer einfachen HTTP GET-Anforderung an
die OpenStreetMap API.
Ich bin mit dem einfache PHP-REST-client von tcdent und ich im Grunde verstehen, es ist Funktionalität. Mein Beispiel code für das abrufen der aktuellen Änderungen in OSM ist:
<?php
include("restclient.php");
$api = new RestClient(array(
'base_url' => "http://api.openstreetmaps.org/",
'format' => "xml")
);
$result = $api->get("api/0.6/changesets");
if($result->info->http_code < 400) {
echo "success:<br/><br/>";
} else {
echo "failed:<br/><br/>";
}
echo $result->response;
?>
Wenn ich geben Sie die URL ein "http://api.openstreetmaps.org/api/0.6/changesets" in den browser ein, es liefert die XML-Datei. Jedoch, durch die dieser PHP-code gibt es die OSM-404-Datei nicht Gefunden Seite.
Ich denke, das ist eine ziemlich dumme PHP-newbie-Frage, aber ich kann nicht sehen, was ich bin fehlt, da ich nicht viel wissen (noch) über all diese client-server-side-Prozesse, usw.
Vielen Dank für Ihre Hilfe!
InformationsquelleAutor matze09 | 2011-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden curl. Sehen http://www.lornajane.net/posts/2008/using-curl-and-php-to-talk-to-a-rest-service
$xml = new SimpleXMLElement($curl_response);
InformationsquelleAutor Martin Stein
OK, das problem war anscheinend das 'format' => "xml" - Spezifikation.
Ohne ihn und mit der Hilfe von SimpleXMLElement (danke Martin), ich bin jetzt immer die XML-Daten korrekt geladen:
Obwohl dies nicht ein sehr flexibles Konzept, da es funktioniert nur für die XML-Antworten, es ist genug für den moment und ein guter Punkt zum starten mit der OSM-API.
Vielen Dank für Ihre Hilfe!
InformationsquelleAutor matze09