Ich habe einen curl-Befehl erstellt, um einen POST an meinen Server zu senden, wo ich diesen Port abhöre, um weitere Aktionen auszulösen. Der Befehl ist die folgende (einfach die URL maskiert):curl beendet nicht nach erfolgreichem POST
curl -v -H "Content-Type: application/json" -X POST -d "{\"Location\":\"Some Name\",\"Value\":\"40%\"}" http://example.com:8885/
ich die folgende Ausgabe von curl erhalten:
Über() zu example.com Port 8885 (# 0)
verbinden5.147.XXX.XXX Der Versuch ...
Verbunden mit example.com (5.147.XXX.XXX) Port 8885 (# 0)
POST/HTTP/1.1
User-Agent: curl/7.29.0
Host: example.com:8885
akzeptieren: /
Content-Type: application/json
Content- Länge: 40
Upload komplett gesendet aus: 40 von 40 Bytes
Allerdings schließt die Locke die Verbindung nicht. Mache ich etwas falsch? Auch auf dem Server erhalte ich nur den POST sobald ich ctrl + c drücke.
Falls jemand anderes mit dem gleichen Problem aufkommt, unten finden Sie den Befehl, der für mich am Ende gearbeitet (nicht gelungen, eine korrekte HTTP-Antwort über NodeRed zu senden):
'BODY =„{\“ IrgendeinText \ ": \ "IrgendeinText \", \ "EineAndereProperty \": \ "Noch ein Text usw. \"}" '
' echo -ne POST“http://example.com:PORT/ HTTP/1.0 \ r \ nHost: example.com:PORT\r\nContent-Type: application/json \ r \ nContent-Length: $ {# BODY} \ r \ nAutorisierung: Token {API KEY} \ r \ n \ r \ n $ {BODY} "| nc -i 3 example.com PORT' –