• php curl 采集


    curl 采集五个步骤:

    1.curl_init()初始化curl
    2.curl_setopt()设置传输数据和参数
    3.curl_exec()执行传输并获取返回数据
    4.curl_errono()返回错误码
    5.curl_close()关闭curl

     get 方式:

    $curl = curl_init();
    
    $url='http://www.baidu.com';
    
    //设置请求url
    
    curl_setopt($curl, CURLOPT_URL,$url );
    
    //是否将头文件输出
    
    curl_setopt($curl, CURLOPT_HRADER,TRUE );
    
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE );
    
    // 运行cURL,请求网页
    
    $data = curl_exec($curl);
    
    // 关闭URL请求
    curl_close($curl);

    post方式:

    $cookie_file = dirname(__FILE__) . '/cookie.txt';   
            $url = 'http://manage.wxpro.loc/admin/login';
            $get_url = 'http://manage.wxpro.loc/';
            $post_data = array('username'=>'username','password'=>'password');
            //初始化一个curl对象
            $curl = curl_init();
            //设置你需要抓取的 url
            curl_setopt($curl,CURLOPT_URL,$url);
            //设置crul参数,要求结果保存到字符串中还是输出到屏幕上
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
            //post数据
            curl_setopt($curl,CURLOPT_POST,1);
            //post变量
            curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);
            //存储cookie
            curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);  
            //运行curl,请求网页
            $data = (array)json_decode(curl_exec($curl));
            //关闭url请求
            curl_close($curl);
    
    
            if($data['error'] ==0){
                //带着上面得到的COOKIE获取需要登录后才能查看的页面内容   
                $ch = curl_init($get_url);   
                curl_setopt($ch, CURLOPT_HEADER, 1);   
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
                curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);   
                $contents = curl_exec($ch);   
                curl_close($ch);   
    
                var_dump($contents);
            }

    curl_setopt 参数解释:

    1.CURLOPT_URL                            需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候。

    2.CURLOPT_HEADER                      TRUE 启用时会将头文件的信息作为数据流输出。FALSE 不会输出

    3.CURLOPT_RETURNTRANSFER       TRUEcurl_exec()获取的信息以字符串返回,而不是直接输出。false 直接输出

    4.CURLOPT_COOKIEJAR       调用curl_close后,保存 cookie信息的条件

    5.CURLOPT_COOKIEFILE      包含 cookie 数据的文件名,cookie 文件的格式可以是 Netscape 格式,或者只是纯 HTTP 头部风格,存入文件。如果文件名是空的,不会加载 cookie,但 cookie 的处理仍旧启用。

     

  • 相关阅读:
    图像检索(image retrieval)- 11
    图像检索(image retrieval)- 10相关
    Mock.js简易教程,脱离后端独立开发,实现增删改查功能
    Azure Monitor (3) 对虚拟机磁盘设置自定义监控
    Azure Monitor (1) 概述
    Azure SQL Managed Instance (2) 备份SQL MI
    Azure Virtual Network (17) Private Link演示
    Azure Virtual Network (16) Private Link
    Azure Virtual Network (15) Service Endpoint演示
    Azure Virtual Network (14) Service Endpoint服务终结点
  • 原文地址:https://www.cnblogs.com/zouzhe0/p/6245434.html
Copyright © 2020-2023  润新知