IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PHP Curl 中如何分离 headers 和 body 信息

    Denis | 邓鸿华发表于 2023-12-11 07:44:32
    love 0

    在 PHP 中可以我们通过 Curl 来获取远程网站的数据,同时可以获取到 HTTP Response 的 headers 和 body,它们会一同作为结果返回,这时需要我们自己来分离它们。

    我们可以通过 Curl 自带的 curl_getinfo() 方法获取头的长度,然后使用 substr 来分割字符串:

    $url	= "http://blog.wpjam.com";
    $ch		= curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, TRUE);	//表示需要response header
    curl_setopt($ch, CURLOPT_NOBODY, FALSE);	//表示需要response body
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    
    $response = curl_exec($ch);
    
    if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200') {
    	$header_size	= curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    	$headers		= substr($response, 0, $header_size);
    	$body		= substr($response, $header_size);
    }

    © WordPress果酱 / RSS 订阅 / 长期承接 WordPress 项目



沪ICP备19023445号-2号
友情链接