Probleme mit der POST-Anfrage

Es gibt 1 Antwort in diesem Thema, welches 813 mal aufgerufen wurde. Der letzte Beitrag () ist von Ringl.

  • Hallo,


    ich habe vor der neuen PC25 die Bodenheizung mit einer selbst gebauten Steuerung geregelt.

    Genutzt wird der Prozessor C-Control AVR32 von Conrad.

    Diese Regelung würde ich gerne weiter nutzen, weil sie optimal für jedes Zimmer programmiert ist.

    Werte aus der ETA-Steuerung abholen mittels GET-Anweisung funktionieren schon.

    Ein Problem habe ich mit POST.


    Ich möchte den EIN/AUS-Schalter der Bodenheizung betätigen.


    Mein Script.

    Code
    canAdr  = "/user/var/120/10103/0/0/12080";
    
    
    id=ETH_ConnectTCP(IP_ADDR(192,168,178,46), 8080);
    
    
    Str_Printf(cmdtxt, "POST %s HTTP/1.1 Content-Type: application/x-www-form-urlencoded\r\nvalue=1803\r\n\r\n", canAdr);
    ETH_SendTCP(id, cmdtxt, Str_Len(cmdtxt));


    Überträgt Folgendes.


    POST /user/var/120/10103/0/0/12080 HTTP/1.1 Content-Type: application/x-www-form

    value=1803


    Als Antwort erhalte ich:


    HTTP/1.1 400 Bad

    Date: Mon, 14 Nov 2022 10:19:29 GMT

    Connection: Keep-

    Content-Type: application/

    Cache-Control: no-

    Content-Length:

    <?xml version="1.0" encoding="utf-8"?>

    <eta version="1.0" xmlns="http://www.eta.co.at/rest/v1">

    <error uri="/user/var/120/10103/0/0/12080">Parameter 'value' is missing for this request</error>

    </eta>


    Ich habe schon alle Kombinationen von Zeilenumbrüchen ausprobiert, was nur zur Folge hat, dass ich die obere Antwort erhalte oder nichts.

    Mit der Fehlermeldung kann ich auch nichts anfangen.


    LG

  • Etaminator

    Hat das Thema freigeschaltet.
  • Hallo,

    jetzt hab ich es!


    Es hat die Variablenlänge gefehlt: Content-Length: 10

    Code
    Str_Printf(cmdtxt, "POST %s HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 10\r\n\r\nvalue=%d", canAdr, 1803);

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!