PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Hilfe) JSON Array mittels PHP auslesen



.wired
09.04.2012, 16:19
Hallo zsm,

wie ist es mir möglich folgendes JSON-Array mittels PHP auszulesen?

https://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe


Falls der Link nicht funktioniert, hier das Array:
{
"whois-resources":{
"service":"search",
"xsi:noNamespaceSchemaLocation":"http://apps.db.ripe.net/whois/xsd/whois-resources.xsd",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe"}
,
"parameters":{
"type-filters":null,
"query-strings":{
"query-string":{
"value":"89.245.88.188"}
}
,
"sources":{
"source":{
"id":"ripe"}
}
}
,
"objects":{
"object":[
{
"type":"inetnum",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/inetnum/89.245.64.0 - 89.245.127.255"}
,
"source":{
"id":"ripe"}
,
"primary-key":{
"attribute":{
"name":"inetnum",
"value":"89.245.64.0 - 89.245.127.255"}
}
,
"attributes":{
"attribute":[
{
"name":"inetnum",
"value":"89.245.64.0 - 89.245.127.255"}
,
{
"name":"netname",
"value":"VT-DYNAMICPOOL"}
,
{
"name":"descr",
"value":"Versatel Deutschland"}
,
{
"name":"descr",
"value":"Dynamic DSL Pool"}
,
{
"name":"country",
"value":"DE"}
,
{
"name":"admin-c",
"value":"VTH-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/VTH-RIPE"}
}
,
{
"name":"tech-c",
"value":"VTH-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/VTH-RIPE"}
}
,
{
"name":"remarks",
"value":"Please contact abuse@versatel.de in case of abuse"}
,
{
"name":"status",
"value":"ASSIGNED PA"}
,
{
"name":"mnt-by",
"value":"VT-ENGI-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-ENGI-MNT"}
}
,
{
"name":"mnt-lower",
"value":"VT-GARBAGE-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-GARBAGE-MNT"}
}
,
{
"name":"mnt-domains",
"value":"VT-DOMAIN-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-DOMAIN-MNT"}
}
,
{
"name":"source",
"value":"RIPE",
"comment":"Filtered"}
]
}
}
,
{
"type":"role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/role/VTH-RIPE"}
,
"source":{
"id":"ripe"}
,
"primary-key":{
"attribute":{
"name":"nic-hdl",
"value":"VTH-RIPE"}
}
,
"attributes":{
"attribute":[
{
"name":"role",
"value":"Versatel Hostmaster"}
,
{
"name":"remarks",
"value":"Internet Engineering"}
,
{
"name":"address",
"value":"Versatel West GmbH"}
,
{
"name":"address",
"value":"Unterste-Wilms-Strasse 29"}
,
{
"name":"address",
"value":"44143 Dortmund"}
,
{
"name":"address",
"value":"Germany"}
,
{
"name":"phone",
"value":"+49 (0) 231 399 0"}
,
{
"name":"abuse-mailbox",
"value":"abuse@versatel.de"}
,
{
"name":"admin-c",
"value":"AL859-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/AL859-RIPE"}
}
,
{
"name":"admin-c",
"value":"DAM666-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/DAM666-RIPE"}
}
,
{
"name":"admin-c",
"value":"MG3031-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/MG3031-RIPE"}
}
,
{
"name":"admin-c",
"value":"AD8061-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/AD8061-RIPE"}
}
,
{
"name":"admin-c",
"value":"OD55-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/OD55-RIPE"}
}
,
{
"name":"admin-c",
"value":"KL1054-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/KL1054-RIPE"}
}
,
{
"name":"admin-c",
"value":"TK1586-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/TK1586-RIPE"}
}
,
{
"name":"admin-c",
"value":"BS4675-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/BS4675-RIPE"}
}
,
{
"name":"tech-c",
"value":"AL859-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/AL859-RIPE"}
}
,
{
"name":"tech-c",
"value":"DAM666-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/DAM666-RIPE"}
}
,
{
"name":"tech-c",
"value":"MG3031-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/MG3031-RIPE"}
}
,
{
"name":"tech-c",
"value":"AD8061-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/AD8061-RIPE"}
}
,
{
"name":"tech-c",
"value":"OD55-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/OD55-RIPE"}
}
,
{
"name":"tech-c",
"value":"KL1054-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/KL1054-RIPE"}
}
,
{
"name":"tech-c",
"value":"TK1586-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/TK1586-RIPE"}
}
,
{
"name":"tech-c",
"value":"BS4675-RIPE",
"referenced-type":"person-role",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/person-role/BS4675-RIPE"}
}
,
{
"name":"nic-hdl",
"value":"VTH-RIPE"}
,
{
"name":"mnt-by",
"value":"VT-ENGI-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-ENGI-MNT"}
}
,
{
"name":"source",
"value":"RIPE",
"comment":"Filtered"}
]
}
}
,
{
"type":"route",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/route/89.245.0.0/16/AS8881"}
,
"source":{
"id":"ripe"}
,
"primary-key":{
"attribute":[
{
"name":"route",
"value":"89.245.0.0/16"}
,
{
"name":"origin",
"value":"AS8881"}
]
}
,
"attributes":{
"attribute":[
{
"name":"route",
"value":"89.245.0.0/16"}
,
{
"name":"descr",
"value":"Versatel Deutschland"}
,
{
"name":"origin",
"value":"AS8881",
"referenced-type":"aut-num",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/aut-num/AS8881"}
}
,
{
"name":"mnt-by",
"value":"VT-ENGI-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-ENGI-MNT"}
}
,
{
"name":"source",
"value":"RIPE",
"comment":"Filtered"}
]
}
}
,
{
"type":"route",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/route/89.244.0.0/14/AS8881"}
,
"source":{
"id":"ripe"}
,
"primary-key":{
"attribute":[
{
"name":"route",
"value":"89.244.0.0/14"}
,
{
"name":"origin",
"value":"AS8881"}
]
}
,
"attributes":{
"attribute":[
{
"name":"route",
"value":"89.244.0.0/14"}
,
{
"name":"descr",
"value":"Versatel Deutschland"}
,
{
"name":"origin",
"value":"AS8881",
"referenced-type":"aut-num",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/aut-num/AS8881"}
}
,
{
"name":"mnt-by",
"value":"VT-ENGI-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-ENGI-MNT"}
}
,
{
"name":"source",
"value":"RIPE",
"comment":"Filtered"}
]
}
}
,
{
"type":"route",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/route/89.245.0.0/17/AS8638"}
,
"source":{
"id":"ripe"}
,
"primary-key":{
"attribute":[
{
"name":"route",
"value":"89.245.0.0/17"}
,
{
"name":"origin",
"value":"AS8638"}
]
}
,
"attributes":{
"attribute":[
{
"name":"route",
"value":"89.245.0.0/17"}
,
{
"name":"descr",
"value":"Versatel Deutschland"}
,
{
"name":"origin",
"value":"AS8638",
"referenced-type":"aut-num",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/aut-num/AS8638"}
}
,
{
"name":"mnt-by",
"value":"VT-ENGI-MNT",
"referenced-type":"mntner",
"link":{
"xlink:type":"locator",
"xlink:href":"http://apps.db.ripe.net/whois/lookup/ripe/mntner/VT-ENGI-MNT"}
}
,
{
"name":"source",
"value":"RIPE",
"comment":"Filtered"}
]
}
}
]
}
}
}


Mein Ansatz:
<?php
$jsonfile = file_get_contents('https://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe');
$jsonarray = json_decode($jsonfile,TRUE);

echo $jsonarray['whois-resources']['objects']['primary-key']['attribute']['value'];
?>

Leider bleibt meine Seite weiß, funktioniert irgendwie nicht richtig.

Brauche daher die Hilfe von euch. Daten sollen lediglich mittels Echo ausgegeben werden können. Glaube einfach das ich die falsche Syntax in meinem Code-Ansatz habe.

Danke, im Voraus.

sn0w
09.04.2012, 16:42
<?php
$jsonfile = file_get_contents('https://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe');
$jsonarray = json_decode($jsonfile,TRUE);

echo ($jsonarray['whois-resources']['objects']['object']['0']['primary-key']['attribute']['value']);
?>


MfG

.wired
09.04.2012, 17:05
Funktioniert leider nicht. :/

sn0w
09.04.2012, 17:14
89.245.64.0 - 89.245.127.255
Also bei mir funktioniert das ganze super.
Du kannst aber auch dein Array selbst zerlegen.
print_r($jsonarray); gibt dir das ganze Array aus.

.wired
09.04.2012, 17:17
Kannst du mal deine ganze .php-Datei posten, nur um auszuschießen, dass sich bei mir irgendwo noch n dummer Fehler eingeschlichen hat? :)

sn0w
09.04.2012, 17:19
Das oben ist die ganze und funktionierende PHP Datei.
Falls weitere Fragen offen sind: Via PM oder Jabber melden ;)

Notorious
09.04.2012, 18:31
Erstellst du es lokal oder ist das bei einem free hoster die Datei? Bei manchen free hoster geht file_get_contents nicht.

Hu5eL
09.04.2012, 18:36
was notorious sagt ist richtig. viele free-hoster haben die funktionen gesperrt um den inhlat aus anderen seiten auszulesen

pysnake
09.04.2012, 19:01
Das Beispiel von "sn0w" funktioniert perfekt.
Ansonsten probier es mal so:



<?php
$jsonfile = file_get_contents('http://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe');

$jsonarray = json_decode($jsonfile,TRUE);
echo ($jsonarray['whois-resources']['objects']['object']['0']['primary-key']['attribute']['value']);
?>

inout
09.04.2012, 19:18
Mit Fehlerbehandlung:


<?php
error_reporting(E_ALL);

$jsonfile = file_get_contents('https://apps.db.ripe.net/whois/search.json?query-string=89.245.88.188&source=ripe');

if($jsonfile !== false)
{
$jsonarray = json_decode($jsonfile, true);

if($jsonarray != NULL)
echo $jsonarray['whois-resources']['objects']['object']['0']['primary-key']['attribute']['value'];
else
echo "json error\n";
}
else
echo "http error\n";
?>

.wired
10.04.2012, 10:38
Danke für die Hilfe Leute! Nachdem ich pysnakes version kopiert habe, hat es funktioniert. Es lag echt am HTTPS. Keine Ahnung warum die SSL-Variante bei mir nicht läuft. Verwende einen Root-Server. Evtl muss ich ne SSL-Unterstützung installieren?
Danke an alle für die Hilfe! :)

sn0w
10.04.2012, 14:25
Falls du es dennoch gerne mit ssl machen willst:
extension=php_openssl.dll
in deine php.ini einfügen/Kommentarzeichen entfernen

MfG

.wired
18.04.2012, 00:08
Habe es nun gelöst.
Danke an alle für die Unterstützung! :)