zoukankan      html  css  js  c++  java
  • curl_get和curl_post,伪造请求头,绕过防盗链下载文件

    //curl-get
        function curl_get($url, $timeout = 10)
        {
            $ch = curl_init();//初始化
            curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //禁止服务器端的验证
            //伪装请求来源,绕过防盗
            curl_setopt($ch,CURLOPT_REFERER,"http://www.ding.com");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//服务器5秒内没有响应,脚本就会断开连接
            $file_contents = curl_exec($ch);//运行curl
            if (curl_errno($ch)) {
                return curl_error($ch);
            }
            curl_close($ch);
            return $file_contents;
        }
        //http://oss.houdunren.com/lesson_video/水印类/1,水印类简介.mp4
        $url = '要下载文件的地址';
        $filename = '要保存的下载文件名称';
        header("Content-Disposition:attachment;filename=".$filename);
        echo curl_get($url);
    
    function curl_post($url, array $params = array(), $timeout = 5)
    {
        $ch = curl_init();//初始化
        curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        $data = curl_exec($ch);//运行curl
        curl_close($ch);
        return ($data);
    }
    

  • 相关阅读:
    爬虫之JSON
    爬虫bs4案例
    爬虫bs4
    爬虫之Xpath案例
    爬虫之xpath
    监控 Kubernetes 集群应用
    手动部署k8s-prometheus
    ingress之tls和path使用
    ingress安装配置
    kube-dns和coreDNS的使用
  • 原文地址:https://www.cnblogs.com/idjl/p/9610557.html
Copyright © 2011-2022 走看看