kostenloser Webspace werbefrei: lima-city


Probleme mit OpenSSL bei XML- und json-Dateien

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kurzmitteilungsservice

    Kostenloser Webspace von kurzmitteilungsservice

    kurzmitteilungsservice hat kostenlosen Webspace.

    Hallo, liebe Forengemeinde,

    bei einer meiner Webseiten laufen Livestreams von diversen Radiosendern, hierbei werden die externen XML- und json-Dateien der Radiostationen mittels eines kleinen PHP-Scripts in eine Titelanzeige umgewandelt.

    Bisher lief das auch ohne Probleme, seit einigen Tagen tauchen jedoch bei knapp der Hälfte der Titelanzeigen für mich seltsame Fehlermeldungen auf, obwohl ich keinerlei Änderungen an der Datei vorgenommen habe. Jeweils eine XML- und eine json-Datei sind beispielhaft darin aufgeführt.

    XML-Datei
    <?php
    $url = 'https://api.schlagerparadies.de/get_metadata/';
    $xml = utf8_encode($url); 
    $xml = simplexml_load_file($url);
    $song = $xml->channel[1]->artist." - ".$xml->channel[1]->title;
    print ( $song );
    ?>

    Fehlermeldung
    Warning: simplexml_load_file(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 6

    Warning: simplexml_load_file(): Failed to enable crypto in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 6

    Warning: simplexml_load_file(https://api.schlagerparadies.de/get_metadata/): failed to open stream: operation failed in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 6

    Warning: simplexml_load_file(): I/O warning : failed to load external entity "https://api.schlagerparadies.de/get_metadata/" in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 6

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 7

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 7

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 7

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/schlagerparadiestitel.php on line 7


    json-Datei
    <?php
    $url = 'https://api.nrjnet.de/webradio/nostalgie/current/nostalgie.json';
    $contents = file_get_contents($url); 
    $contents = utf8_encode($contents); 
    $results = json_decode($contents);
    print $results->artist." - ".$results->title;
    ?>

    Fehlermeldung
    Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/nostalgietitel.php on line 6

    Warning: file_get_contents(): Failed to enable crypto in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/nostalgietitel.php on line 6

    Warning: file_get_contents(https://api.nrjnet.de/webradio/nostalgie/current/nostalgie.json): failed to open stream: operation failed in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/nostalgietitel.php on line 6

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/nostalgietitel.php on line 9

    Notice: Trying to get property of non-object in /home/webpages/lima-city/kurzmitteilungsservice/html/radioberlin/titel/nostalgietitel.php on line 9


    Wo kommen diese Fehlermeldungen her? Und vor allem wie sieht eine Lösung dieses Problems aus. Über eine Antwort würde ich mich freuen.

    Viele Grüße Michael
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. HI,

    gibt es schon einen Beitrag zu, wenn man googled "php xml ssl":

    https://stackoverflow.com/questions/32621929/error-when-loading-external-xml-file-with-php-via-https-ssl3-get-server-certif


    auf deutsch zusammengefasst: Zieh dir aus dem Browser die Zertifikatskette für die Webseite, speichere die als crt, wo dein script drauf zugreifen kann und dann passe das folge Coeschnipsel, was ich auch nur aus obiger Quelle kopiert habe, entsprechend an:


    $context = stream_context_create(array('ssl'=>array(
        'verify_peer' => true,
        'cafile' => '/path/to/ca-bundle.crt'
    )));
    libxml_set_streams_context($context);


    es muss natürlich erfolgt sein, bevor du die verbindung aufbaust.



  4. Autor dieses Themas

    kurzmitteilungsservice

    Kostenloser Webspace von kurzmitteilungsservice

    kurzmitteilungsservice hat kostenlosen Webspace.

    OK, danke, der Codeschnipsel für die XML-Datei funktioniert einwandfrei. :thumb:

    Gibt es etwas vergleichbares auch für json-Dateien?

    Vielen Dank!
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!