• CURL的学习和应用


    curl安装:

    xp下面的安装

    :修改php.ini文件的设置,找到php_curl.dll

    //取消下在的注释
    extension=php_curl.dll

    linux下面安装:

    # wget http://curl.haxx.se/download/curl-7.17.1.tar.gz
    # tar zxvf curl-7.17.1.tar.gz  //解压

    #cd curl-7.17.1
    # ./configure --prefix=/usr/local/curl
    # make
    # make install

    这是安装php之前安装的方法.

    ***************************phpinf查看是否加载成功!

    使用curl的POST数据飞信接口

    用curl 写了飞信接口吧,网上有很多,这里只是做个测试

    $username = 13800138000;
    $password = 123456;
    $sendto = 13912345678;
    $message = "测试一个试试看!";
    
    $curlPost = 'username='.urlencode($username).'&password='.urlencode($password).'&sendto='.urlencode($sendto).'&message='.urlencode($message).'';
    
    $ch = curl_init();//初始化curl
    curl_setopt($ch,CURLOPT_URL,'http://sms.api.bz/fetion.php');//抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    print_r($data);//输出结果

     

    返回的结果是:短信已提交到发送队列!

    飞信接口的地址是http://sms.api.bz/

    飞信接口模式:

    http://sms.api.bz/fetion.php?username=您的移动飞信登录手机号
    &password=您的移动飞信登录密码
    &sendto=接收短信的飞信好友手机号
    &message=短信内容

    格式:http://sms.api.bz/fetion.php?username=13800138000&password=123456&sendto=13912345678&message=短信内容

    注意要保持utf-8格式的,这点我犯错了

    总结一下使用curl方法:

    • 初始化curl
    • 使用curl_setopt设置目标url,和其他选项,这些选项方法详细参考:http://cn2.php.net/manual/zh/ref.curl.php
    • curl_exec,执行curl
    • 执行后,关闭curl
    • 最后一步就是输出

     一个最要的curl函数:curl_getinfo

    curl_getinfo ( resource $ch [, int $opt = 0 ] )

     

    <?php
    /*curl实例
    */
    $curl = curl_init();
    
    // 设置你需要抓取的URL
    curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');
    
    // 设置header
    curl_setopt($curl, CURLOPT_HEADER, 0);
    
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    
    // 运行cURL,请求网页
    $data = curl_exec($curl);
    if($data === false){
        echo curl_error($curl);exit;
    }
    $info = curl_getinfo($curl);
    // 关闭URL请求
    curl_close($curl);
    
    // 显示获得的数据
    var_dump($info);
    var_dump($data);

     

    可以返回:

    • URLINFO_EFFECTIVE_URL - 最后一个有效的URL地址
    • CURLINFO_HTTP_CODE - 最后一个收到的HTTP代码
    • CURLINFO_FILETIME - 远程获取文档的时间,如果无法获取,则返回值为“-1”
    • CURLINFO_TOTAL_TIME - 最后一次传输所消耗的时间
    • CURLINFO_NAMELOOKUP_TIME - 名称解析所消耗的时间
    • CURLINFO_CONNECT_TIME - 建立连接所消耗的时间
    • CURLINFO_PRETRANSFER_TIME - 从建立连接到准备传输所使用的时间
    • CURLINFO_STARTTRANSFER_TIME - 从建立连接到传输开始所使用的时间
    • CURLINFO_REDIRECT_TIME - 在事务传输开始前重定向所使用的时间
    • CURLINFO_SIZE_UPLOAD - 上传数据量的总值
    • CURLINFO_SIZE_DOWNLOAD - 下载数据量的总值
    • CURLINFO_SPEED_DOWNLOAD - 平均下载速度
    • CURLINFO_SPEED_UPLOAD - 平均上传速度
    • CURLINFO_HEADER_SIZE - header部分的大小
    • CURLINFO_HEADER_OUT - 发送请求的字符串
    • CURLINFO_REQUEST_SIZE - 在HTTP请求中有问题的请求的大小
    • CURLINFO_SSL_VERIFYRESULT - 通过设置CURLOPT_SSL_VERIFYPEER返回的SSL证书验证请求的结果
    • CURLINFO_CONTENT_LENGTH_DOWNLOAD - 从Content-Length: field中读取的下载内容长度
    • CURLINFO_CONTENT_LENGTH_UPLOAD - 上传内容大小的说明
    • CURLINFO_CONTENT_TYPE - 下载内容的Content-Type:值,NULL表示服务器没有发送有效的Content-Type: header   

     

    linux命令下的curl

    几种常见的使用方式:

    下载作用:

    • 直接下载 相当于wget

    curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG

    • 批量下载screen1.JPG--screen10.JPG

    curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG

    • 断点下载

    curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

     

    反向代理功能

    curl -x 123.45.67.89:1080 -o page.html http://www.yahoo.com

    显示头文件

    curl -I www.sina.com

    参考:http://www.21andy.com/blog/20080602/1154.html

    http://www.ruanyifeng.com/blog/2011/09/curl.html


    转载来自:http://www.cnblogs.com/phphuaibei/archive/2011/09/29/2195838.html
     

  • 相关阅读:
    自顶向下的单元测试策略
    孤立的测试策略
    单元测试
    控制流与数据流,信息流
    白盒测试的特点
    白盒测试
    黑盒测试优缺点
    appium对博客园APP进行自动化测试
    招聘测试人员,我在面试什么?
    测试开发这一年
  • 原文地址:https://www.cnblogs.com/gxldan/p/4066861.html
Copyright © 2020-2023  润新知