我尝试使用CURLOPT_HEADERFUNCTION
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($curl, $headerLine) use($date) {
file_put_contents('/tmp/response-headers.log', $date . " " . print_r($headerLine, true), FILE_APPEND);
});
$response = curl_exec($ch);
收到的标头为HTTP/1.1 200 OK
,但$response
为空。但是,当我注释掉上面的curl_setopt
函数时,一切正常,我得到了完整的响应体。
如何在将标头转储到文件时收到全身?
答案 0 :(得分:1)
documentation for CURLOPT_HEADERFUNCTION说
接受两个参数的回调。第一个是cURL资源,第二个是带有要写入的头数据的字符串。标头数据必须由此回调写入。返回写入的字节数。
您的函数不会返回写入的字节数。