在 PHP cURL 中检索响应标头和正文
PHP 的 cURL 库提供了发送 HTTP 请求的强大方法。但是,当使用curl_exec()时,默认行为是仅返回响应正文。要在单个请求中同时获取标头和正文,请考虑 PHP 文档中提供的以下解决方案:
// Initialize cURL and set necessary options $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Enable return of response curl_setopt($ch, CURLOPT_HEADER, 1); // Include headers in response // Execute the request $response = curl_exec($ch); // Extract header and body information $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
在此方法中,curl_exec() 返回包含标头和正文的字符串。然后,我们使用curl_getinfo() 获取标头的大小并相应地分割响应。
虽然此解决方案通常有效,但需要注意的是,在使用代理服务器或处理重定向时,它可能不可靠。因此,建议探索其他选项,例如@Geoffrey在问题评论中建议的方法,以确保在所有场景下可靠的标头和正文检索。
以上是如何使用 PHP cURL 检索 HTTP 响应标头和正文?的详细内容。更多信息请关注PHP中文网其他相关文章!