zoukankan      html  css  js  c++  java
  • cURL范例(包括错误输出和详情输出)

    //1.初始化
    $ch = curl_init();
    //2.设置选项,包括URL
    curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    //3.执行并获取HTML文档内容
    $output = curl_exec($ch);
    //4.错误判断
    if ($output === FALSE){
        echo 'cURL Error:'.curl_error($ch);
    }
    //5.返回cURL执行过程中相关信息(方便调试和查错)
    $info = curl_getinfo($ch);
    curl_close($ch);
    echo $output;

    cURL基本设置项

    if (is_callable('curl_init')){
        //1、初始化创建一个新cURL句柄
        $ch = curl_init();
        
        //2、设置cURL相关选项
        curl_setopt($ch, CRULOPT_URL, 'https://www.xlyhw.com');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置curl_exec()获取信息以字符流的形式返回
        
        curl_setopt($ch, CURLOPT_REFERER, 'http://weibo.com/');//告诉www.xlyhw.com是weibo中的页面通过点击进入的
        
        curl_setopt($ch, CURLOPT_HEADER, 1);//启用时会将头信息作为字符流输出
        curl_setopt($ch, CURLOPT_NOBODY, true);//排除页面主题只返回头信息与CURLOPT_HEADER同时使用
        
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟随head头重定向去寻找页面
        curl_setopt($ch, CURLOPT_MAXREDIRS, 5);//跟随重定向的次数为5次
        
        $agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.2.2';//echo $_SERVER[ 'HTTP_USER_AGENT' ]
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);//使用用户代理访问xlyhw
        
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);//抓取页面的等待时间为30秒
        
        $header_arr[] = 'Mime-version:1.0' ;
        $header_arr[] = 'Content-type:text/html;charset=utf-8' ;
        $header_arr[] = 'Accept-encoding:compress,gzip' ;
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header_arr);//向目标服务器传递头部信息
        
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//用户https
        
        //使用post向目标站提交数据
        curl_setopt($ch, CURLOPT_POST, true);
        $data = 'username=administrator&password=admin@admin.com';//定义post的数据字符串
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        
        curl_setopt($ch, CURLOPT_PORT, '8080');//目标站的端口
        
        //3、抓取URL的HTML内容
        $output = curl_exec($ch);
        
        //4、关闭cURL句柄
        curl_close($ch);
    }else {
        
    }

     利用curl获取网络图片

    /**
     * curl获取网络图片保存到本地
     */
    $ch = curl_init();//初始化curl
    $fp = fopen('a.png','wb');//打开文件
    curl_setopt($ch,CURLOPT_URL,'http://www.xlyhw.com/home/images/logo.png');//图片url
    curl_setopt($ch,CURLOPT_FILE,$fp);//把图片数据放进文件
    curl_setopt($ch,CURLOPT_HEADER,0);//是否输出页面内容
    curl_setopt($ch,CURLOPT_TIMEOUT,60);//执行的时间限制
    curl_exec($ch);
    $info = curl_getinfo($ch);
    echo '<pre>';
    print_r($info);
    echo '</pre>';
    curl_close($ch);
    fclose($fp);
    If the copyright belongs to the longfei, please indicate the source!!!
  • 相关阅读:
    常看本地是否安装Git和maven工具
    Git 安装和使用Tips
    Jmeter 获取系统时间,和对系统时间进行增减时间
    Java 中的系统时间
    Go语言
    数据拆分之 垂直拆分 and 水平拆分
    在Windows和UNIX下利用PHP和LDAP进行身份验证
    Linux中使用crontab命令定时执行shell脚本或其他Linux命令
    php empty()和isset()的区别
    php 判断是否get传值的参数是否存在
  • 原文地址:https://www.cnblogs.com/longfeiPHP/p/5947356.html
Copyright © 2011-2022 走看看