开发者社区> 问答> 正文

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

落地花开啦 2016-06-17 18:11:25 913

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

PHP
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:43:25

    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);`

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程