Die Abfrage ist wie folgt geschrieben:
Code: Alles auswählen
$json_request = "http://api.geonames.org/postalCodeSearchJSON?username=" . $this->gn_username . "&style=short&postalcode=" . $postal_code . "&country=" . $country;
$json = file_get_contents($json_request);
$xml = json_decode($json, true);
Im Erfolgsfall lautet die Rückgabe:
Code: Alles auswählen
{"postalCodes":[{"adminCode2":"00","adminCode3":"03151","adminName3":"Landkreis Gifhorn","adminCode1":"NI","lng":10.7391,"countryCode":"DE","postalCode":"29378","adminName1":"Niedersachsen","ISO3166-2":"NI","placeName":"Wittingen","lat":52.72805}]}
Code: Alles auswählen
{"status":{"message":"user does not exist.","value":10}}
Leider unterscheidet sich, wie ich jetzt weiß, die Rückgabe, wenn ich das aus einem php-Skript heraus mache, dann bekomme ich im Fehlerfall nämlich nicht diese Statusmeldung in der Variablen '$json', sondern diese hat den Wert 'false'.
Für diesen Fall habe ich jetzt den Code ergänzt:
Code: Alles auswählen
if (!$json)
{
print_r($http_response_header); // Testausgabe
}
Code: Alles auswählen
Array ( [0] => HTTP/1.1 401 Unauthorized [1] => Date: Mon, 08 Jun 2020 11:54:27 GMT [2] => Server: Apache/2.4.6 (CentOS) mod_jk/1.2.41 OpenSSL/1.0.1e-fips PHP/5.4.16 [3] => Cache-Control: no-cache [4] => Access-Control-Allow-Origin: * [5] => Content-Length: 56 [6] => Connection: close [7] => Content-Type: application/json;charset=UTF-8 )
Aber jetzt bin ich an dem Punkt, an dem ich mich im Kreis drehe und einen kleinen Schubs in die richtige Richtung brauche: Wie komme ich an diesen Inhalt heran???
Der Vollständigkeit halber hier die schmale Erklärung von Geonames.