Problem mit JSON per API

  • Hallo @all :),


    ich verzweifle gerade etwas an JSON. Ich möchte Daten per API abfragen und möchte dies mit einem cURL Request erledigen. Allerdings bekomme ich unerklärlicherweise die Fehlermeldung "Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\test.php on line 317"


    Ich habe in diesem Script bereits mehrere APIs angesprochen und hatte kein Problem damit, die JSON Daten in PHP zu verarbeiten. Bei der 3. API hapert es jetzt irgendwie. Wahrscheinlich wieder eine extrem einfache Lösung und ich komme einfach nicht drauf.


    JSON:


    PHP Code:

    Ich bedanke mich wie immer für eure Hilfe :)
    LG
    Maurice

  • Wenn $out wirklich das o.g. JSON-Konstrukt enthält, sollte var_dump($decoded) das Problem aufzeigen – die Ausgabe ist nämlich NULL.

    Code
    % cat test.json.org| jq .
    parse error: Invalid numeric literal at line 15, column 25

    Wenn man die Auslassungpunkte ... in Anführungszeichen setzt, geht's.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Hab es gerade mal nachgebaut. Bei mir kommt 36 raus.


    Hast du mal in die Logs geguckt, ob da irgendwas zu erkennen ist? Ich vermute der Request läuft irgendwo schief. Check doch mal auf errors beim curl: https://stackoverflow.com/a/3987037

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Danke für den Link von stackoverflow! Hab es so probiert und tatsächlich kam der Statuscode "403" als Antwort raus. Das gleiche hatte ich mit der file_get_contents() Funktion. Jetzt muss ich wohl rausbekommen, wie ich diesen umgehen kann.


    Bei der file_get_contents() Funktion konnte ich es bei einer anderen Website mit einem User-Agent Header umgehen. Ich weiß, dass es bei meiner Zielwebsite geht, allerdings wird das wohl ziemlich knifflig :)


    Aber ich weiß zumindest wo das Problem ist :) Danke dir <3

  • Gerne :)


    Ja, meistens liegt’s am User-Agent. Der lässt sich mit curl aber auch sehr leicht setzen.


    Um zu testen kann ich übrigens Postman empfehlen. Daraus lassen sich auch direkt Codeschnipsel für u.a. PHP generieren.

    RS Brezn | VPS 500 G8 Plus | 2× VPS Karneval 2020 | VPS Pocket Admin | RS Cyber Quack | VPS 500 ARM


    Dieses Gebäude hat mir die Vorfahrt genommen! *hup*

  • Ja wie gesagt, mit einem User Agent hab ich es schon probiert. Das macht keinen Unterschiedd. Habe auch schon versucht einen Referer anzugeben, was auch kein Unterschied gemacht hat.


    Ich denke Cloudflare macht es mir schwer, allerdings weiß ich, dass es machbar ist.