要保留curl中HTTP头信息的大小写,可以使用CURLOPT_HEADERFUNCTION
选项来定义一个回调函数,在函数中处理HTTP头信息。以下是一个示例代码:
// 创建一个新的CURL资源
$curl = curl_init();
// 设置URL和其他选项
curl_setopt($curl, CURLOPT_URL, "http://example.com");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 定义一个回调函数来处理HTTP头信息
$headers = [];
curl_setopt($curl, CURLOPT_HEADERFUNCTION, function($curl, $header) use (&$headers) {
$length = strlen($header);
$header = explode(':', $header, 2);
if (count($header) < 2) { // 不是有效的头信息
return $length;
}
$name = trim($header[0]);
$value = trim($header[1]);
$headers[$name] = $value;
return $length;
});
// 执行请求
$response = curl_exec($curl);
// 检查是否有错误发生
if(curl_errno($curl)){
$error_message = curl_error($curl);
// 处理错误
}
// 关闭CURL资源
curl_close($curl);
// 打印HTTP头信息
foreach ($headers as $name => $value) {
echo $name . ": " . $value . "\n";
}
// 打印响应内容
echo $response;
在上述示例中,我们使用了CURLOPT_HEADERFUNCTION
选项定义了一个回调函数。该函数会在接收到每个HTTP头信息时被调用。在回调函数中,我们解析每个头信息并将其保存在一个数组中。最后,我们可以通过遍历该数组来访问HTTP头信息,并打印响应内容。
请注意,上述示例代码是使用PHP编写的,你可以根据自己的编程语言来实现相似的逻辑。
上一篇:保留错误中的可观察项并返回所有值