默认情况下,Curl会添加内容类型和用户代理等标头.通常这是一件好事,但我正在尝试测试当这些标头丢失时我们的服务器做了什么.我的问题是内容类型标题.如果丢失,服务器会正确地假定用户发送了json.但是,curl实际上添加了缺少的标题,并错误地假定我发布的内容是application/x-www-form-urlencoded.它还发送/的Accept标头.我想这是很好的默认行为,但我基本上希望它不发送我没有指定的标头.那有选择吗?
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
Run Code Online (Sandbox Code Playgroud)
cml*_*ndz 38
将-H标志与要删除的标题一起使用,并在之后没有内容:
-H, --header LINE Custom header to pass to server (H)
Run Code Online (Sandbox Code Playgroud)
样品
-H 'User-Agent:'
Run Code Online (Sandbox Code Playgroud)
这将使得该请求而不对User-Agent集管(而不是用一个空值发送它)
好像curl发送3个标题.要在没有它们的情况下执行请求,您可以:
curl 172.20.11.100:8080/healthz -v -H 'User-Agent:' -H 'Accept:' -H 'Host:'
Run Code Online (Sandbox Code Playgroud)
+1到@cmlndz回答,他解释了如何删除单个标题.
您可以通过添加-v选项来检查实际发送的标头,如上所示.