如何删除 cURL 发送的默认值 headers?
How can I remove default headers that cURL sends?
Curl 默认添加 header 个,例如 Content-type
和 User-agent
。通常这是一件好事,但我正在尝试测试当缺少 header 时我们的服务器会做什么。
我的问题是 Content-type
header。如果它丢失了,服务器会正确地假定用户发送 JSON。然而,curl 实际上添加了缺失的 header 并错误地假设我发布的内容 application/x-www-form-urlencoded
。它还发送 / 的 Accept header .
我想这是很好的默认行为,但我基本上不希望它发送我没有指定的 headers。有那个选项吗?
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
将 -H
标志与要删除的 header 一起使用,并且 :
之后没有内容
-H, --header LINE Custom header to pass to server (H)
样本
-H 'User-Agent:'
这将使请求 没有 User-Agent
header(而不是发送一个空的值)
似乎 curl
发送了 3 header。要在没有它们的情况下发出请求,您可以附加参数:
-H 'User-Agent:' -H 'Accept:' -H 'Host:'
+1 到 @cmlndz 的回答,他解释了如何删除单个 header.
您可以通过添加 -v
.
查看实际发送了哪些 header
Curl 默认添加 header 个,例如 Content-type
和 User-agent
。通常这是一件好事,但我正在尝试测试当缺少 header 时我们的服务器会做什么。
我的问题是 Content-type
header。如果它丢失了,服务器会正确地假定用户发送 JSON。然而,curl 实际上添加了缺失的 header 并错误地假设我发布的内容 application/x-www-form-urlencoded
。它还发送 / 的 Accept header .
我想这是很好的默认行为,但我基本上不希望它发送我没有指定的 headers。有那个选项吗?
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
将 -H
标志与要删除的 header 一起使用,并且 :
-H, --header LINE Custom header to pass to server (H)
样本
-H 'User-Agent:'
这将使请求 没有 User-Agent
header(而不是发送一个空的值)
似乎 curl
发送了 3 header。要在没有它们的情况下发出请求,您可以附加参数:
-H 'User-Agent:' -H 'Accept:' -H 'Host:'
+1 到 @cmlndz 的回答,他解释了如何删除单个 header.
您可以通过添加 -v
.