gpt4 book ai didi

php - 如何从 curl 句柄中删除先前设置的请求 header 引用字段?

转载 作者:行者123 更新时间:2023-12-04 00:06:49 24 4
gpt4 key购买 nike

首先我初始化 curl 句柄:

$ch = curl_init();

接下来我设置 url 和 referer header :

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_REFERER,$referer);

最后执行语句:

curl_exec($ch);

现在我可以使用另一个 url 而无需关闭并重新打开句柄,所以:

curl_setopt($ch,CURLOPT_URL,$another_url);

这里开始令人头疼,因为我不知道如何禁用将发送给服务器的 referer header ,当然我已经尝试放置 falsenull进入 CURLOPT_REFERER 但它导致 referer 字段为空,即 Referer: 仍然发送到服务器但没有值(这对 http 规范来说是否正确?)。

是否有任何选项可以在不关闭和重新实例化 curl 句柄的情况下完全删除 header ?

我想避免它,因为 curl 会保持连接打开一段时间,如果我在从同一主机下载时不断关闭句柄,可能会花费更多时间。

最佳答案

您可以完全删除 referer 字段或通常由 curl 处理的任何其他字段,方法是将其在“:”之后不带任何内容地传递给 CURLOPT_HTTPHEADER:

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Referer:"));

而且它根本不会出现在标题中。

http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTHTTPHEADER

关于php - 如何从 curl 句柄中删除先前设置的请求 header 引用字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com