php (带cookie)模拟get/post 方法下载excel

//post
function curl_post($header,$data,$url)
    {
     $ch = curl_init();
     $res= curl_setopt ($ch, CURLOPT_URL,$url);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     curl_setopt ($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_POST, 0);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
     $result = curl_exec ($ch);
     curl_close($ch);
     if ($result == NULL) {
      return 0;
     }
     return $result;
    } 
$url="http://xxxxxx/export?ids=1316";

     $header = array("Host:xxxxxx",
        'Content-Type:application/x-www-form-urlencoded',
        'Cookie:PHPSESSID=7tjquhlqftltvjeq7tkd4nr0b1',
        'SocketLog:SocketLog(tabid=121&client_id=ADMIN_ADMIN)',
      'User-Agent: Mozilla/4.0 (compatible; MSIE .0; Windows NT 6.1; Trident/4.0; SLCC2;)'); 
    $data = 'ids=';
    $file_name="1_2000.xls";
    for ($i=1 ;$i<2000;$i++) {
        $result[]=$i;
    }
    $data.=implode(",",$result);
    $ret = curl_post($header, $data,$url);

    //需将内容显示修改为文件下载
Header( "Content-type:  application/vnd.ms-excel"); 
Header( "Accept-Ranges:  bytes "); 
Header( "Content-Disposition:  attachment;  filename= $file_name");  
echo $ret;
//get
    function curl_get($header,$data,$url)
    {
     $ch = curl_init();
     $res= curl_setopt ($ch, CURLOPT_URL,$url);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     curl_setopt ($ch, CURLOPT_HEADER, 0);
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
     $result = curl_exec ($ch);
     curl_close($ch);
     if ($result == NULL) {
      return 0;
     }
     return $result;
    }  

    $url="http://xxxxx/export";    

     $header = array("Host:xxxxx",
        'Content-Type:application/x-www-form-urlencoded',
        'Cookie:PHPSESSID=c7dtg7ptj862jkd1pso0e7bh01',
        'SocketLog:SocketLog(tabid=121&client_id=ADMIN_ADMIN)',
      'User-Agent: Mozilla/4.0 (compatible; MSIE .0; Windows NT 6.1; Trident/4.0; SLCC2;)'); 
    $data = 'ids=';
    $file_name="1_2000.xls";
    for ($i=1 ;$i<2000;$i++) {
        $result[]=$i;
    }
    $url.="?ids=".implode(",",$result);
    $ret = curl_get($header, $data,$url);

    //需将内容显示修改为文件下载
Header( "Content-type:  application/vnd.ms-excel"); 
Header( "Accept-Ranges:  bytes "); 
Header( "Content-Disposition:  attachment;  filename= $file_name");  
echo $ret;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值