Hallo zusammen
Ich habe meine Boxen (DM800SE und DM7020HD) aktualisiert und das Plugin InternetRadio installiert. Das funktioniert soweit alles perfekt - die Sender laufen korrekt. Sobald ich auf gewissen InternetRadio-Sendern etwas aufnehmen will, bekomme ich die Fehlermeldung
error -56 [HTTP:403 - Access Forbidden (try changing the UserAgent)]
Ich habe mich dann schlau gemacht und probehalber die OpenSource Software "Streamripper" auf dem PC installiert. Dort habe ich dann dieselbe Fehlermessage erhalten. Bei "Streamripper" ist ein Parameter "-u <user-agent>" vorgesehen, um zB. Internet Explorer, Mozilla, o.a. vorzugeben. Sobald zB. "-u ie" mitgegeben wird, funktioniert es perfekt, die Fehlermessage kommt nicht mehr und es wird sauber "connected". Gemäss diversen Enigma2 Sourcecodestellen ist es nicht das erste Mal, dass das obige Problem auftritt. GStreamer/GstPlayer habe ich auch mal noch überfolgen. Dort gibt es Codestellen um den User Agent zu setzen. Im usr/lib gibt es die gstreamer-0.10 - diese LIB wird u.a. vom WebRadio, EnhancedMovieCenter und VLC genutzt.
Hat jemand eine Idee, wie man den "User Agent" im InternetRadio für das Recording setzen kann? Ja, jetzt schon - siehe weiter unten. Die Datei "InternetRadioWebFunctions.py" habe ich bereits manuell geändert und GUI restarted. Die Fehlermessage bleibt dieselbe. Die Datei " InternetRadioScreen.py" habe ich ebenfalls studiert und dort sieht man, dass InternetRadio den "Streamripper" verwendet. Das erklärt auch, warum eine Änderung im "InternetRadioWebFunctions.py" nichts bringt, da Streamripper den User Agent nicht vererbt, sondern seinen eigenen Default nimmt.
Die obigen beiden Zeilen 8 + 9 genügen, um den User Agent in Streamripper selbst zu setzen. Nicht vergessen, Enigma GUI restarten, damit die Parameter neu eingelesen werden.
Nun läuft auch die Recording-Funktion im InternetRadio Plugin bei all meinen Radio-Stationen.
Viel Spass.
gruss
Ich habe meine Boxen (DM800SE und DM7020HD) aktualisiert und das Plugin InternetRadio installiert. Das funktioniert soweit alles perfekt - die Sender laufen korrekt. Sobald ich auf gewissen InternetRadio-Sendern etwas aufnehmen will, bekomme ich die Fehlermeldung
error -56 [HTTP:403 - Access Forbidden (try changing the UserAgent)]
Ich habe mich dann schlau gemacht und probehalber die OpenSource Software "Streamripper" auf dem PC installiert. Dort habe ich dann dieselbe Fehlermessage erhalten. Bei "Streamripper" ist ein Parameter "-u <user-agent>" vorgesehen, um zB. Internet Explorer, Mozilla, o.a. vorzugeben. Sobald zB. "-u ie" mitgegeben wird, funktioniert es perfekt, die Fehlermessage kommt nicht mehr und es wird sauber "connected". Gemäss diversen Enigma2 Sourcecodestellen ist es nicht das erste Mal, dass das obige Problem auftritt. GStreamer/GstPlayer habe ich auch mal noch überfolgen. Dort gibt es Codestellen um den User Agent zu setzen. Im usr/lib gibt es die gstreamer-0.10 - diese LIB wird u.a. vom WebRadio, EnhancedMovieCenter und VLC genutzt.
Hat jemand eine Idee, wie man den "User Agent" im InternetRadio für das Recording setzen kann? Ja, jetzt schon - siehe weiter unten. Die Datei "InternetRadioWebFunctions.py" habe ich bereits manuell geändert und GUI restarted. Die Fehlermessage bleibt dieselbe. Die Datei " InternetRadioScreen.py" habe ich ebenfalls studiert und dort sieht man, dass InternetRadio den "Streamripper" verwendet. Das erklärt auch, warum eine Änderung im "InternetRadioWebFunctions.py" nichts bringt, da Streamripper den User Agent nicht vererbt, sondern seinen eigenen Default nimmt.
- -u useragent - Use a different UserAgent than "Streamripper"
Quellcode
- def InputBoxStartRecordingCallback(self, returnValue = None):
- if returnValue:
- recordingLength = int(returnValue) * 60
- if not os.path.exists(config.plugins.internetradio.dirname.value):
- os.mkdir(config.plugins.internetradio.dirname.value)
- args = []
- args.append(self.currentPlayingStation.url)
- args.append('-u')
- args.append('ie')
Nun läuft auch die Recording-Funktion im InternetRadio Plugin bei all meinen Radio-Stationen.
Viel Spass.
gruss