如何阻止curl php发送接受标头

发布于 2024-12-07 20:04:03 字数 106 浏览 0 评论 0原文

默认情况下,curl 会为所有请求发送 Accept: */* 标头。如何停止发送默认标头?

 Accept: */* 

By default curl sends Accept: */* header for all requests. How do I stop sending of the default header?

 Accept: */* 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

物价感观 2024-12-14 20:04:03

使用 CURLOPT_HTTPHEADER 传入“Accept:”(即冒号右侧没有内容的标头) 。就像:

$headers  =  array( "Accept:" );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

使用curl命令行工具的等效效果是:

curl -H 'Accept:' http://example.com/

这将使curl删除标头,而不仅仅是发送带有空白值的标头。如果您愿意,您还可以发送带有空白值的标头,但是您需要使用分号而不是冒号!

Pass in "Accept:" (ie a header with no contents to the right of the colon) with CURLOPT_HTTPHEADER. Like:

$headers  =  array( "Accept:" );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

The equivalent using the curl command line tool is:

curl -H 'Accept:' http://example.com/

This will make curl remove the header, not just send a header with a blank value. You can also send a header with a blank value if you want, but then you need to use a semicolon instead of colon!

淡看悲欢离合 2024-12-14 20:04:03

确保你的数组项设置了紧跟在标题名称后面的冒号,如下所示:

array( "Accept: yourAcceptValue" )

不带空格,如下所示:

array( "Accept : yourAcceptValue" )

如果标题名称和冒号之间有空格,curl 将添加默认的 */ * 到你的标题中。

(适用于 PHP 5.5.9-1ubuntu4.7)

Make sure your array item is set up with the colon immediately following the header name, like this:

array( "Accept: yourAcceptValue" )

Not with spaces, like this:

array( "Accept : yourAcceptValue" )

If there is a space between the header name and the colon, curl will add the default */* into your headers.

(Works in PHP 5.5.9-1ubuntu4.7)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文