乐闻世界logo
搜索文章和话题

如何从CURL响应中删除HTTP标头?

1 个月前提问
1 个月前修改
浏览次数7

1个答案

1

在使用CURL进行HTTP请求时,通常服务器的响应会包括HTTP头部和实际的内容(比如HTML、JSON等)。如果我们只关心内容部分,从CURL响应中删除HTTP头部则显得非常有用。这可以通过配置CURL的选项来实现。

实现步骤:

  1. 设置CURL选项以返回响应: 使用CURLOPT_RETURNTRANSFER选项,可以让CURL执行后不直接输出响应内容,而是以字符串的形式返回。这样我们就可以自己处理这个字符串了。

    php
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  2. 禁用头部信息的输出: 通过设置CURLOPT_HEADER0false,可以阻止CURL输出响应头部。

    php
    curl_setopt($ch, CURLOPT_HEADER, 0);

完整代码示例:

假设我们要从一个API获取JSON数据,使用PHP作为示例:

php
<?php // 初始化CURL会话 $ch = curl_init(); // 设置CURL选项 curl_setopt($ch, CURLOPT_URL, "http://example.com/api/data"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); // 执行CURL会话 $response = curl_exec($ch); // 检查是否有错误发生 if(curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } // 关闭资源 curl_close($ch); // 输出结果 echo $response; ?>

在这段代码中,CURLOPT_RETURNTRANSFER 设置为 1 使得CURL执行结果返回给变量$response,然后通过设置 CURLOPT_HEADER0 确保HTTP头部不会被包含在返回的内容中。

总而言之,通过正确设置CURL选项,可以很容易地从响应中排除HTTP头部信息,使得处理数据变得更简单、更清晰。

2024年8月13日 22:37 回复

你的答案