• curl解压gzip页面gzcompress内容


    $headers = array(
    //"Content-type:application/json;charset='utf-8'",
    "Cache-Control:no-cache",
    "Pragma:no-cache",
    //"accept-charset:utf-8",
    "Accept-Encoding:gzip",
    "User-Agent:Dalvik/2.1.0 (Linux; U; Android 5.1.1;Build/LMY47V)",
    "Host:www.domain.cn",
    //'Transfer-Encoding:chunked', 压缩不能用这项
    //"Content-Type:application/x-www-form-urlencoded",
    //"Connection:Keep-Alive",
    );

    /*
    * 可写文件
    $sourceFile="tmp.txt";
    $fp = fopen($sourceFile, "w");
    */

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_NOBODY, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip'); //curl解压gzip页面内容
    curl_setopt($curl, CURLOPT_FORBID_REUSE, true);
    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($curl, CURLOPT_HTTPGET, true);
    //curl_setopt($curl, CURLOPT_FILE, $fp);
    $data = curl_exec($curl);
    curl_close($curl);

    //file_put_contents('tmpdata.txt',$data);
    echo bin2hex($data); //可查看下16进制
    $ret = gzuncompress($data);

    print_r(json_decode($ret,true)
  • 相关阅读:
    ZooKeeper的工作原理
    redis 数据类型详解 以及 redis适用场景场合
    nginx负载均衡原理
    Java中缓存的介绍
    Java中接口的作用
    json与xml的区别
    最经典40个多线程问题总结
    Java线程 : 线程同步与锁
    dbcp与c3p0的区别
    Linux常见命令
  • 原文地址:https://www.cnblogs.com/jking10/p/7852894.html
Copyright © 2020-2023  润新知