Curl voegt standaard headers toe zoals Content-type
en User-Agent
. Normaal gesproken is dat een goede zaak, maar ik probeer te testen wat onze server doet als die headers ontbreken.
Mijn probleem is met de Content-type
header. Als het ontbreekt, gaat de server er correct vanuit dat de gebruiker JSON heeft verzonden. Curl voegt echter de ontbrekende header toe en gaat er ten onrechte van uit dat de inhoud die ik plaats application/x-www-form-urlencoded
. Het stuurt ook een Accept-header van /.
Ik veronderstel dat dat een aardig standaardgedrag is, maar ik zou eigenlijk willen dat het geen headers verstuurt die ik niet heb gespecificeerd. Is daar een optie voor?
curl -v -X POST 'https://example.com' -d '{...}'
> User-Agent: curl/7.37.1
> Host: domain.com
> Accept: */*
> Content-Length: 299
> Content-Type: application/x-www-form-urlencoded
Antwoord 1, autoriteit 100%
Gebruik de vlag -H
met de koptekst die u wilt verwijderen en geen inhoud na de :
-H, --header LINE Custom header to pass to server (H)
Voorbeeld
-H 'User-Agent:'
Dit maakt het verzoek zonderde User-Agent
-header (in plaats van het te verzenden met een lege waarde)
Antwoord 2, autoriteit 24%
Het lijkt erop dat curl
3 headers verzendt. Om een verzoek zonder hen te doen, kunt u de argumenten toevoegen:
-H 'User-Agent:' -H 'Accept:' -H 'Host:'
+1 aan @cmlndz antwoord terwijl hij uitlegt hoe je een enkele header verwijdert.
Je kunt controleren welke headers daadwerkelijk worden verzonden door -v
toe te voegen.