Bevor Sie dies als Duplikat posten; Ich habe viele der Vorschläge ausprobiert, die ich in SO gefunden habe.
Bisher habe ich Briefträger verwendet, um Daten an einen Java Webdienst zu senden. Das funktioniert wie folgt:
Ich möchte jetzt dasselbe mit Locken machen, also habe ich es mit den folgenden Methoden versucht:
$ curl -X POST --data "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/
Leider weisen alle einen leeren Rohkörper auf der Empfangsseite auf.
Weiß jemand, was ich hier falsch mache? Inwiefern unterscheidet sich meine Curl-Anfrage von meiner Postbotenanfrage? Alle Tipps sind willkommen!
curls --data
sendet standardmäßig Content-Type: application/x-www-form-urlencoded
in den Anforderungsheader. Wenn Postman jedoch den Body-Modus raw
verwendet, sendet Postman Content-Type: text/plain
Im Anforderungsheader.
Um dasselbe wie bei Postman zu erreichen, geben Sie -H "Content-Type: text/plain"
Für curl an:
curl -X POST -H "Content-Type: text/plain" --data "this is raw data" http://78.41.xx.xx:7778/
Beachten Sie, dass Sie das Debuggen für gepackte Apps aktivieren können, wenn Sie die vollständige von Postman gesendete Anforderung anzeigen möchten. Überprüfen Sie dieser Link für alle Anweisungen. Anschließend können Sie die App überprüfen (mit der rechten Maustaste in Postman klicken) und alle von Postman gesendeten Anforderungen auf der Registerkarte network
anzeigen: