GetFileFromUrl - Was mache ich falsch?

Begonnen von Raik, 11 Juni 2017, 15:11:46

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: DeeSPe am 12 Juni 2017, 20:14:57
"Trailing Slash" vergessen?

{Debug GetFileFromURL("https://www.heise.de/")}

Gruß
Dan

Hallo Dan und willkommen in unserer Show  ;D
Nein. Den Slash habe ich definitiv gesetzt. Habe das ganze jetzt schon als myUtils Sub gemacht um mal zu schauen. Selbiges Ergebnis.


sub getUrl($) {

   my $url = @_;
   my $response = GetFileFromURL($url);
   main::Debug $response;

}


Aufruf mit getUrl('https://www.heise.de/')

Ist bestimmt wieder irgendwas ganz kleines was ich übersehe.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Raik

hahaaaaaa......und was mein Problem betrifft.....   ich habs geschafft die URL aufzurufen mit "curl" ....dann gings aber noch nicht weil in meiner URL so viele Steuerzeichen wie z.B die ? und &.
Diese hab ich dann gemäß Zeichentabelle ersetzt.  Z.B.  das ?  als  %3F  usw.
Dann gings....mein Tel hat geklingelt.   :) :) :) :) :) :)

Aaaaaber ob das jetzt die beste Lösung weiss ich jetzt nicht.
Gibt es einen Nachteil curl zu verwenden?  Müllt es evtl irgend nen Speicher voll?  Oder kann es sich aufhängen? Was ist wenn die Gegenseite der Server off ist?
Ist letztlich GetFileFromURL besser? 

andies

Wie wäre es mit HTTPMOD? Cooles Tool und liefert Eier, Milch und Wolle in einem.


Gesendet von iPad mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

CoolTux

Kommt drauf an wie Du aufgerufen hast. Wenn Du es als System aufgerufen hast blockiert es FHEM. So lange die Gegenstelle vorhanden ist ist das kein Problem, wenn nicht blockiert FHEM so lange bis ein Timeout kommt.
Versuche mal bitte


fhem("\"curl http://www.heise.de/\"")


Oder erst gar nicht in die Perlebene gehen und gleich

Testschalter:on "curl http://www.heise.de/"
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DeeSPe

Zitat von: CoolTux am 12 Juni 2017, 20:49:20
Hallo Dan und willkommen in unserer Show  ;D
Nein. Den Slash habe ich definitiv gesetzt. Habe das ganze jetzt schon als myUtils Sub gemacht um mal zu schauen. Selbiges Ergebnis.


sub getUrl($) {

   my $url = @_;
   my $response = GetFileFromURL($url);
   main::Debug $response;

}


Aufruf mit getUrl('https://www.heise.de/')

Ist bestimmt wieder irgendwas ganz kleines was ich übersehe.

Ich bekomme mit:
{return GetFileFromURL("https://www.heise.de/")}
ordnungsgemäß den HTML Output im FHEM angezeigt.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux

Also entweder habe ich mich verrannt gehabt oder ich werde alt. Ich habe Dein kopiert und das s von https weggenommen und siehe da mein Squidguard meldet sich und ich bekomme etwas zurück. Keine Ahnung wieso das vorher nicht ging.
Ich teste das morgen noch mal wenn ich nicht in meinem angeschirmten Netz bin und https Seiten aufrufen kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Raik

@CoolTux

Bei
Alarmlampe:on { system("curl http://www.heise.de/") }

kommt

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   178  100   178    0     0   5273      0 --:--:-- --:--:-- --:--:--  5933
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
2017.06.12 21:23:15 3: html_aufruf return value: -1



Bei

Testschalter:on "curl http://www.heise.de/"

kommt

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   178  100   178    0     0   5222      0 --:--:-- --:--:-- --:--:--  5933
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>


CoolTux

Na siehste, zweite Version klappt also auch. Das machst jetzt einfach entsprechend mit Deiner URL. Also statt heise.de halt Deinen URL Aufruf
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Raik

Ja und dann gibts keine Probleme in der Art wie du vorhin geschildert hast?

CoolTux

Korrekt. FHEM kümmert sich dann um den Rest und zwar nonBlocking. Kleine Einschränkung, das nonBlocking bezieht sich nur auf die Abfrage der Daten oder senden der URL in Deinem Fall. Ein DNS Aufruf welcher ja auch immer gemacht werden muss ist nicht nonBlocking. Aber das wäre jetzt zu viel des Guten.
Sagen wir einfach Dein Aufruf sollte dann funktionieren und zu 99.9 Prozent FHEM nicht blockieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Mich ärgert es aber trotzdem das es mit GetFileFromURL nicht geklappt hat. Jetzt mal ab vom Response hätte ja der Aufruf klappen müssen.   >:(
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Raik

Ja mich auch!!!

Habs nochmal probiert....  es kommt keine Fehlermeldung im Log....es kommt einfach gar nix.   Aber das Tel klingelt nicht !!

naja.... sollte es mal einer rausfinden dann änder ichs  :D


Ganz nebenbei... ich hab FHEM installiert...und die Anfängerfibel durchgemacht.  U.a das Beispiel mit dem Schalter und der Lampe als dummy.
Es erschein in FHEM dann ein Lampensymbol bei der Lampe welches entsprechnd der Schalterstellung auf Grau oder gelb wechselt. Und zwar sofort nach dem Drücken des Schalters.
Seit geraumer Zeit ist das nicht mehr so. Ich muss immer die Seite aktualisieren damit die Symbole entsprechend leuchten.
Hast du ne Ahnung was das sein könnte? Muss ich jetzt FHEM neu installieren?


CoolTux

Das wird mit FHEM selbst nichts zu tun haben. Das kann Java Script Filter sein, Antivirensoftware oder Applicationsfirewall. Alles was Java Script blockiert.
Mach mal das selbe von einem Tablet oder Handy aus, da wird es dann gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Raik

Naja... aber ich bin happy jetzt .....es funktioniert :)

Ich sag auf jeden Fall Tausend dank für den Einsatz! :)

CoolTux

Null Problemo. Hat mich ja auch interessiert und tut es immer noch.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net