Curl standardmäßig fügt Header wie Content-Typ und User-Agent. Normalerweise ist das eine gute Sache, aber ich versuche zu testen, was unser Server macht, wenn diese Header fehlen. Mein Problem ist mit dem Content-Type-Header. Wenn es fehlt, nimmt der Server korrekt an, dass der Benutzer json gesendet hat. Allerdings fügt curl tatsächlich den fehlenden Header hinzu und nimmt fälschlicherweise an, dass der Inhalt, den ich posten soll, application/x-www-form-urlencoded lautet. Es sendet auch einen Accept-Header von /. Ich nehme an, das ist ein schönes Standardverhalten, aber ich möchte grundsätzlich keine Header senden, die ich nicht angegeben habe. Gibt es dafür eine Option?Wie kann ich Standard-Header entfernen, die curl sendet
curl -v -X POST 'https://domain.com' -d '{...}'
> User-Agent: curl/7.37.1
> Host: domain.com
> Accept: */*
> Content-Length: 299
> Content-Type: application/x-www-form-urlencoded
Zum Entfernen von Proxy-Headern ersetzen Sie -H durch --proxy-header, z. '--proxy-header" Proxy-Verbindung: "' –
Mit der Standard-Windows-Shell ('cmd.exe') musste ich die einfachen Anführungszeichen durch doppelte Anführungszeichen ersetzen (oder sie komplett entfernen). – MrWhite
'-H 'User-Agent:'' löscht den Header wie erwartet (es wird kein Header und kein Wert gesendet), aber sei vorsichtig mit '-H 'Content-Type:'' welcher ** sendet Header mit leerem Wert ** . Es ist ein merkwürdiges unterschiedliches Verhalten des curl-Befehls. – mikep