cURL将某些默认请求标头添加到所做的请求中,如主机、接受语言等。
根据How can I remove default headers that cURL sends?,为了删除这些默认标头,我们需要执行以下操作:
-H 'Host:'
我想发送以下标头[按给定顺序]
curl -H 'accept:*/*' -H 'host:www.example.com'
但是由于curl添加了默认的头文件,我看到了
Host: www.example.com
accept: */*
- 我们如何确保默认标头不会添加到此处?*
另外,如果我们需要删除默认的头文件,但用一个更自定义的头文件替换它(例如“Host”to“host”),我们应该怎么做?我正在考虑这些行
-H 'Host:' -H 'host:www.example.com'
- 这是处理此要求的正确方法吗?如果是,这是理想的方法吗?是否有其他方法可以删除cURL添加的默认头?*
1条答案
按热度按时间qv7cva1a1#
我不认为您可以覆盖主机:标题。
我尝试了许多不同的HOST大写形式,但没有什么不同。
我查看了curl发送的传出请求侦听器和服务器接收的请求侦听器。
这取决于请求的类型,默认的头文件是什么,我使用PHP curl,所以默认值存储在我的
php.ini
中。例如,如果我做这个 curl :
请求标头为
您可以使用此URL http://eatled.com/receiveheader.php,它将返回有关您的请求的一些信息,包括请求头。
如果我将请求更改为POST,
我得到了不同的请求标头。
如果我从Windows命令行执行此GET请求
我得到这些标题:
如果我在Windows中执行此POST
我得到了同样的回答。