Zum Inhalt

Workaround für "Server-Fehler 500" beim abholen von RSS-Feeds der ZDF Mediathek in Liferea

Liferea ist ein schöner, minimalistischer RSS-Reader für Linux. Leider verträgt er sich nicht mit der ZDF Mediathek. Ich habe ja die Vermutung, dass der Webserver des ZDF nicht mit dem HTTP Request klarkommt, oder vielmehr nicht klarkommen will.

Als Workaround funktioniert folgender Trick: Man legt eine .php-Datei auf einem Webserver seiner Wahl ab, und ruft diesem das Kommando, den RSS-Feed abzuholen. Das ganze schimpft sich dann "RSS-Proxy", keine Angst, das ist ein Dreizeiler:

Listing rssproxy.php

<?php
header ("Content-Type:text/xml");
echo file_get_contents($_GET['url']);

In Liferea gibt man jetzt die URL zu diesem PHP-Script ein, und die "echte" RSS-Url wird als Parameter darauf geworfen. In Liferea trägt man also für die Sendung "Leschs Kosmos" also z.B. ein:

http://webserver.de/rssproxy.php?url=http://www.zdf.de/ZDFmediathek/rss/925180?view=rss

Die originale URL habe ich hier fett geschrieben. Der vorangehende Teil ist der Ort, an dem das PHP Proxy Script hinterlegt ist.

Kleiner Tipp noch: Ich würde dringendst dazu anraten, dieses Script nicht unbedingt für alle sichtbar auf dem eigenen Webserver abzulegen. Erstens kann jemand dadurch nicht nur RSS, sondern jeden HTTP-Traffic tunneln. Zweitens kann es gut sein, dass jemand bösen Code über den "url" Parameter schiebt, der dann von echo verarbeitet und auf dem Webserver ausgeführt wird. Das php sollte also auf jeden fall nicht sichtbar sein und nicht verlinkt werden (Google und co.) – man kann es z.B. mit "allow from" / .htaccess schützen.

Published inTechTalk

2 Comments

  1. Markus Markus

    Ja, irgendwas ist da komisch.

    Geht aber auch ohne eigenen Server.

    Art der Quelle:
    Befehl

    Quelle:
    wget -qO – http://www.zdf.de/ZDFmediathek/rss/760014?view=rss

    wget ist bei jeden Standardlinux dabei.
    Für Windows gibts auch eine Version davon.

  2. Markus Markus

    …die php Datei in der Kommandozeile ausführen sollte auch gehen.

    Art der Quelle:
    Befehl

    Quelle:
    php /path/to/rssproxy.php http://www.zdf.de/ZDFmediathek/rss/760014?view=rss

    <?php
    header ('Content-Type:text/xml');
    echo file_get_contents($argv[1]);

    … oder so ähnlich.

    Halt blos keinen Server für so was, man weiss ja nie warum andere den nutzen wollen. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.