【问题标题】:Remove default request-headers that cURL sends and replace it with customised headers删除 cURL 发送的默认请求标头并将其替换为自定义标头
【发布时间】:2022-09-27 09:08:37
【问题描述】:

cURL 将某些默认请求标头添加到发出的请求中,例如主持人,接受语言等等

根据How can I remove default headers that cURL sends?,为了删除这些默认标头,我们需要执行以下操作:

-H \'Host:\'

但是,如果我们需要删除默认标头,而是用更自定义的标头替换它[比如 \'Host\' 到 \'host\'],该怎么办?我们应该怎么做?我正在考虑这些问题

-H \'Host:\' -H \'host:www.example.com\'

这是处理此要求的正确方法吗?如果是,这是理想的方式吗?

还有其他方法可以删除 cURL 添加的默认标头吗?

    标签: curl http-headers


    【解决方案1】:

    这取决于发出的请求类型,默认标头是什么。我使用 PHP curl,所以默认值存储在我的php.ini 中。

    例如,如果我这样做卷曲:

    $ch = curl_init('http://eatled.com/receiveheader.php');
    $response = curl_exec($ch);
    

    请求头是

    Accept: */*
    Host: eatled.com  
    

    您可以使用此 URL http://eatled.com/receiveheader.php,它将返回有关您的请求的一些信息,包括请求标头。

    如果我将请求更改为 POST,

    $ch = curl_init('http://eatled.com/receiveheader.php');
    curl_setopt($ch, CURLOPT_POST, true);
    $response = curl_exec($ch);
    

    我得到不同的请求标头。

    Content-Type: application/x-www-form-urlencoded
    Accept: */*
    Expect: 100-continue
    Host: eatled.com
    Transfer-Encoding: chunked
    

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 2016-05-27
      • 2014-03-08
      • 2021-10-09
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2016-12-31
      • 2018-07-16
      相关资源
      最近更新 更多