Mit ESP eine HTTPS-Seite aufrufen

OP #7938723

Hallo zusammen! Brauche Hilfe, na klar, was sonst. Meine Absicht/Szenario: Waschmaschine im Keller an Tasmota-Steckdose / Tasmota: MQTT enabled / ESP als MQTT-Broker / ESP wertet MQTT aus. / ESP ermittelt ob Waschmaschine fertig ist. / Wenn ja, dann Aufruf von www.getnotify.me Alexa soll nun eine Benachrichtigung erhalten und "Waschmaschine fertig" von sich geben. Und hier liegt mein Hund begraben. Der HTTPS-Aufruf von getnotify.me mit den erforderlichen Parametern. Bei getnotify.me sind (unter DEVELOPER) die Keys angegeben und es wird angezeigt was übermittelt werden muss. Zitat:

You have API credentials. API details: Endpoint: https://api.getnotify.me/submit Authentication: Basic (username = API key, password = API secret) Format: json Body: {"message":"your message here"}

Ich scheitere an dem Aufruf mit den notwendigen Parametern. Ich mach schon eine Woche damit rum. Aber bevor ich aufgebe versuche ich es hier und bekomme vielleicht Hilfe von Leuten die sich mit HTTPS-Aufrufen auskennen. Ich habe einfach zu wenig Ahnung davon, hatte auch nie mit Webseiten zu tun. Tue mir schon mit C++ schwer, habe bis vor einigen Jahren intensiv Mikrocontroller mit C programmiert, aber das ist kaum mit C++ vergleichbar. Langer Rede kurzer Sinn: Wäre für Hilfe beim HTTPS-Aufruf wirklich dankbar. Danke Matthias

PS: Wie erzwinge ich Zeilenumbrüche - die sind manchmal nützlich...

#7938920

Für die Authentication musst du einen Header senden, der so aussieht:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Das ist "username:passwort" codiert als base64

Für das Format musst wahrscheinlich einen Header senden, der so aussieht:

Content-type: application/json; charset=utf-8

Oder eventuell

Content-type: application/json

Du musst wohl noch klären, welche HTTP Methode benutzt werden soll. Vermutlich POST. Dann lautet die erste Zeile des HTTP Requests:

POST /submit

Das alles hat mit HTTPS noch nichts zu tun. Kannst du das nicht erst mal ohne "S" testen?

Als Tools zum Ausprobieren empfehle ich das Programm "curl". Dazu gibt es im Web zahlreiche Beispiele. Vermutlich geht es so:

1
curl --verbose --request POST --user xxxxx:yyyyy --header "Content-Type: application/json" --data '{"message":"Hello world!"}'  https://api.getnotify.me/submit

Anstelle von xxxxx:yyyyy musst du deinen Username und Passwort angeben.

Ich bekomme dann eine leere Antwort mit dem Header

x-amzn-errortype: UnauthorizedException

weil ich keinen Account auf der Plattform habe.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über ein Jahr alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.