开发者社区> 问答> 正文

php的curl里面在获取页面html数据的时候能指定获取的字节数吗?

本来用的 fopen + fread($fp,读取字节数) 获取数据 SAE 不支持 就想改为curl
我只需要匹配出来title的值就行 去文件的前 800字节就ok了,curl参数众多,不知道该设置哪个。
毕竟获取整个html文件会消耗大量时间,只要前800字节就行,这样应该会节省点时间吧,我用microtime 测试出来的时间差别不大但是还是有差别的

展开
收起
落地花开啦 2016-06-17 18:11:25 2478 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    cURL有一个range选项,计量单位是字节,可以通过如下方式来设定:

    curl_setopt($ch, CURLOPT_RANGE, '0-799');

    但是这个不一定管用的,它只是发送了一个请求头,具体如何返回数据还是由发送方决定的,如果发送方支持分片返回则会生效,否则还是完整返回。通过stream也可以实现,也是发送range的头信息,所以结果应该是一样的:

    `$context = stream_context_create(array('http' => array ('header'=> 'Range: bytes=0-799')));
    $data = file_get_contents("http://example.com/file.html", FALSE, $context);`

    2019-07-17 19:43:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
天猫HTML5互动技术实践 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载