http request mit Sonderzeichen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
dvb
Beiträge: 45
Registriert: 26.07.2015, 11:09
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

http request mit Sonderzeichen

Beitrag von dvb » 05.06.2022, 11:00

Hallo zusammen

Ich möchte einen http request senden, welcher Anführungszeichen enthält. Das schaut etwa so aus:

Code: Alles auswählen

tring stderr;
string stdout;

string url="http://192.xxx.xxx.xxx:xxxx/webapi/entry.cgi?api=SYNO.SurveillanceStation.Webhook&method="Incoming"&version=1&token=xxxxxxxxxxx";
system.Exec("wget -O /dev/null -q "#url, &stdout, &stderr);
Das Problem ist das Incoming, welches in Anführungszeichen stehen muss. Ich hab's schon mit Ascii- und html-code versucht. Auch die Version von der HM-Scriptsprache mit \" hat nicht funktioniert. Hat jemand eine Idee, wie ich das gelöst bekomme?

Schon mal ein grosses Dankeschön für den Tipp.

Beste Grüsse
dvb

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: http request mit Sonderzeichen

Beitrag von Black » 05.06.2022, 11:03

string stderr;
string stdout;

string url="http://192.xxx.xxx.xxx:xxxx/webapi/entry.cgi?api=SYNO.SurveillanceStation.Webhook&method=\"Incoming\"&version=1&token=xxxxxxxxxxx";
system.Exec("wget -O /dev/null -q '"#url #"'", &stdout, &stderr);

Black

(Keine Code Tags benutzt, um die Änderung einfärben zu können)

Allgemeiner Hinsweis zu dem Thema Escapen:
viewtopic.php?f=19&t=74273&p=718950#p718950
viewtopic.php?f=19&t=74383&p=720083
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

dvb
Beiträge: 45
Registriert: 26.07.2015, 11:09
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: http request mit Sonderzeichen

Beitrag von dvb » 05.06.2022, 13:37

Hallo Black

Danke für den Hinweis. Ich hatte diese Variation je bereits getestet und es hat nicht funktioniert. Dank deinem Hinweis war klar, dass es so gehen muss. Der Fehler lag dann auch anderswo. Jetzt funzt's. Danke!

Beste Grüsse aus der verregneten Schweiz
dvb

66er
Beiträge: 3083
Registriert: 23.08.2015, 11:06
System: CCU
Hat sich bedankt: 116 Mal
Danksagung erhalten: 111 Mal

Re: http request mit Sonderzeichen

Beitrag von 66er » 05.06.2022, 14:15

Verrätst du auch wo?

Wäre für die Nachvollziehbarkeit echt hilfreich. :wink:

Schöne Feiertage allen.

Stefan

Benutzeravatar
homie_
Beiträge: 101
Registriert: 10.03.2016, 22:21
Hat sich bedankt: 3 Mal

Re: http request mit Sonderzeichen

Beitrag von homie_ » 15.04.2023, 15:00

Hallo,

meine Frage geht in die gleiche Richtung und bezieht sich auf die Lösung von black (vielen Dank dafür!!)

wenn ich das von black geschriebene script nutze für diesen https Aufruf funktioniert es:
(um eine Nachricht per whatsapp zu senden)
https://api.callmebot.com/whatsapp.php? ... ikey=99999

rufe ich diesen https Aufruf auf, um eine Kameraposition über die synology zu ändern, funktioniert es leider nicht.
http://192.xxx.xxx.xxx:xxx/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&method=GoPreset&version=1&cameraId=21&presetId=350

beide https Aufrufe im normalen Browser aufgerufen ändert die Position bzw. schickt die Nachricht ohne zu meckern.

Bin kein Profi und verstehe nicht warum es im einen Fall funktioniert und im anderen nicht.
LG
HOMIE_

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: http request mit Sonderzeichen

Beitrag von Black » 15.04.2023, 15:20

wenn ich nur mal schnell optischen Vergleich mit meinem Text und deinem Aufruf mache

bei mir oben steht
method=\"IchBinDieMethode\"

bei dir steht
method=IchBinDieMethode

Unterschied siehst du ?


(Ich kanns nicht verifizieren, da ich das nicht habe)


Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
homie_
Beiträge: 101
Registriert: 10.03.2016, 22:21
Hat sich bedankt: 3 Mal

Re: http request mit Sonderzeichen

Beitrag von homie_ » 15.04.2023, 19:06

ok - sorry, hätte es gleich komplett kopieren sollen:

das funktioniert:
string stderr;
string stdout;

string url="https://api.callmebot.com/whatsapp.php? ... key=xxxxxx";
system.Exec("wget -O /dev/null -q '"#url #"'", &stdout, &stderr);


das nicht (mit den 2 string Zeilen vorab):
string url="http://xxx.xxx.xx.xxx:xxxx/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&method=GoPreset&version=1&cameraId=21&presetId=351";
system.Exec("wget -O /dev/null -q '"#url #"'", &stdout, &stderr);

habe jetzt gerade festgestellt, dass man das http im firefox auführen kann, bei, chrome nicht. Vielleicht habe ich mich in firefox an der Syno vorab richtig angemeldet? In chrome funktioniert das anmelden gar nicht. Vielleicht ist da das Fehlerchen?
Haben Sie mit der Synology Erfahrung?
LG
HOMIE_

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: http request mit Sonderzeichen

Beitrag von Black » 15.04.2023, 21:08

Ich hab oben geschrieben, setz bei Method das GoPreset in escapte Hochkommata. die dick fett rot markierten \"

string url="http://xxx.xxx.xx.xxx:xxxx/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&method=\"GoPreset\"&version=1&cameraId=21&presetId=351";

Erfahrzung hab mit dem Dingen übrigens keine

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
homie_
Beiträge: 101
Registriert: 10.03.2016, 22:21
Hat sich bedankt: 3 Mal

Re: http request mit Sonderzeichen

Beitrag von homie_ » 17.04.2023, 08:30

Hab’s probiert, funktioniert aber leider auch nicht.
Aber vielen Dank für die Unterstützung.
Ich muss wahrscheinlich noch in Richtung synology weitersuchen.
LG
HOMIE_

Antworten

Zurück zu „HomeMatic allgemein“