RSS - wget FEHLER 405: Method Not Allowed.

Begonnen von kurt6908, 24 Januar 2017, 21:09:05

Vorheriges Thema - Nächstes Thema

kurt6908

Hallo,

hoffentlich kann mir hier jemand helfen ....

Ich habe in FHEM einen RSS definiert und sende daraus ein JPG jede Stunde auf meine Homepage.

Das RSS-Bild hole ich mir mittels

wget -N --no-check-certificate --http-user=XXX --http-password=NNN https://raspberrypi:8083/fhem/rss/myrss.jpg

Seit einem Update gestern Mittag, um ca. 12.00 Uhr werden keine Bilder mehr mittels wget geholt, der Aufruf wird mit

HTTP-Anforderung gesendet, warte auf Antwort... 405 Method Not Allowed
2017-01-24 20:51:57 FEHLER 405: Method Not Allowed.

abgebrochen.

Bis auf das FHEM-Update habe ich am System aber nichts verändert. Während des Updates ist auch die 98_rssFeed.pm aktualisiert worden.

Warum funktioniert der wget plötzlich nicht mehr ???? Erlaubt das rssFeed-Modul keinen wget-Aufruf mehr?

Vielen Dank und viele Grüße

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

betateilchen

Mit 98_rssFeed.pm hat Dein Problem nichts zu tun, denn das Modul, das Du verwendest, heißt 02_RSS.pm

Es gab letzte Woche eine Änderung in 01_FHEMWEB.pm, die mit der Fehlermeldung 405 zusammenhängen könnte.
Teste mal bitte, ob der Abruf funktioniert, wenn Du den Zugang ohne user und password herstellen kannst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Gerade nachgebaut und getestet:


$ wget -N --no-check-certificate --http-user=admin --http-password=secret https://fhem-enocean:8183/fhem/rss/dummyRSS.jpg
--2017-01-24 21:28:26--  https://fhem-enocean:8183/fhem/rss/dummyRSS.jpg
Auflösen des Hostnamen »fhem-enocean (fhem-enocean)«... 127.0.1.1
Verbindungsaufbau zu fhem-enocean (fhem-enocean)|127.0.1.1|:8183... verbunden.
GnuTLS: The TLS connection was non-properly terminated.
Es ist nicht möglich, eine SSL-Verbindung herzustellen.


ah... da gibt es ein SSL Problem :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#3
einfache kurzfristige Abhilfe:

Definiere Dir eine FHEMWEB Instanz, die nicht mit HTTPS arbeitet



define web2 FHEMWEB 8183 global



Dazu das passende allowed-device



define allowed_web2 allowed
attr allowed_web2 basicAuth { "$user:$password" eq "admin:secret" }
attr allowed_web2 validFor web2



Dann klappts auch mit dem wget ( http:// anstatt https:// )


$ wget -N --http-user=admin --http-password=secret http://fhem-enocean:8183/fhem/rss/dummyRSS.jpg
--2017-01-24 21:39:53--  http://fhem-enocean:8183/fhem/rss/dummyRSS.jpg
Auflösen des Hostnamen »fhem-enocean (fhem-enocean)«... 127.0.1.1
Verbindungsaufbau zu fhem-enocean (fhem-enocean)|127.0.1.1|:8183... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 401 Authorization Required
Verbindungsaufbau zu fhem-enocean (fhem-enocean)|127.0.1.1|:8183... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 8291 (8,1K) [image/jpeg]
»Last-modified«-Kopfzeile fehlt -- Zeitstempel abgeschaltet.
--2017-01-24 21:39:53--  http://fhem-enocean:8183/fhem/rss/dummyRSS.jpg
Verbindungsaufbau zu fhem-enocean (fhem-enocean)|127.0.1.1|:8183... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 8291 (8,1K) [image/jpeg]
In »»dummyRSS.jpg«« speichern.

dummyRSS.jpg                              100%[======================================================================================>]   8,10K  --.-KB/s   in 0,001s

2017-01-24 21:39:53 (11,2 MB/s) - »»dummyRSS.jpg«« gespeichert [8291/8291]

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kurt6908

Hallo,

vielen Dank für den Workaround, aber eine dauerhafte Lösung kann es ja nicht sein.

Seit dem letzten Update der 01_FHEMWEB.pm (jetzt Stand 2017-01-28) bekomme ich in der LogDatei folgenden Eintrag:

"WEB_127.0.0.1_42734: unsupported HTTP method HEAD, rejecting it."

Gem. RFC2616 sollte jeder WebServer (hier FHEM) doch die HEAD-Methode unterstützen. Wie hängt diese Unterstützung jetzt mit SSL zusammen und warum wurde diese dann Mitte Januar entfernt?

Clientseitig beim wget oder curl kann ich es nach meinem Kenntnisstand ja nicht beeinflussen, da FHEM den Aufruf anscheinend komplett verwirft.

Viele Grüße

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

betateilchen

Zitat von: kurt6908 am 29 Januar 2017, 11:07:26
Gem. RFC2616 sollte jeder WebServer (hier FHEM) doch die HEAD-Methode unterstützen. Wie hängt diese Unterstützung jetzt mit SSL zusammen und warum wurde diese dann Mitte Januar entfernt?

Die HEAD Methode wurde nicht entfernt, die war in FHEMWEB noch nie drin und wurde bisher fälschlicherweise als einfaches GET behandelt. Dieses Verhalten wurde geändert und wird jetzt (sachlich) korrekt mit einem Fehler 405 beantwortet.


-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kurt6908

Hallo,

aber damit funktioniert doch dann kein wget oder curl mehr? Oder?

Weder bei wget noch bei curl habe ich eine Option gefunden, diesen Fehler zu vermeiden.

Wie bekomme ich mein RSS-JPEG nun auf meine Homepage?

https://www.peichl-online.de/intern/fhem

Gruß

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

betateilchen

Zitat von: kurt6908 am 29 Januar 2017, 13:46:22
aber damit funktioniert doch dann kein wget oder curl mehr? Oder?
Weder bei wget noch bei curl habe ich eine Option gefunden, diesen Fehler zu vermeiden.

Das ist kein Problem des RSS-Moduls. Du solltest Deine Frage vielleicht besser im Bereich FHEMWEB stellen, denn von dort kommt das neue Verhalten.

Hier hatte ich aufgrund Deines Problem schon vor ein paar Tagen im Developer-Bereich das Thema versucht zu verstehen: https://forum.fhem.de/index.php/topic,65671.0.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kurt6908

Hallo,

Lösung hier:

https://forum.fhem.de/index.php?topic=65994.0

FHEM unterstützt keinen Header, dieser wird jedoch durch wget mit der Option -N gesendet. Verzichtet man auf die Option -N, dann wird auch kein Fehler erzeugt.

Viele Grüße

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger