zoukankan      html  css  js  c++  java
  • php中的curl的一些参数总结

    curl可以根据是否是http或则是https选择加密发送的内容;

    使用curl发送请求的基本流程

    1,初始化连接句柄;

    2,设置curl选项;

    3,执行并获取结果;

    4,释放curl连接句柄;

    例子:

    //初始化

    $ch = curl_init();

    //设置选项

    curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com");

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //参数意思:如果成功只将结果返回,不自动输出任何内容

    curl_setopt($ch,CURLOPT_HEADER,0);

    //执行并获取html内容

    $output = curl_exec($ch);

    if($output == false){

    echo "curl error:".curl_error($ch);

     }

    //释放句柄

    curl_close($ch);

    curl中最重要的函数是curl_setopt()

    获取curl请求输出的信息:

    curl_exec($ch);

    $info = curl_getinfo($ch);

    获取curl的请求内容.$info;

    curl_getinfo返回的是一个关联数组,包含以下数据:

    • url:网络地址。
    • content_type:内容编码。
    • http_code:HTTP状态码。
    • header_size:header的大小。
    • request_size:请求的大小。
    • filetime:文件创建的时间。
    • ssl_verify_result:SSL验证结果。
    • redirect_count:跳转计数。
    • total_time:总耗时。
    • namelookup_time:DNS查询耗时。
    • connect_time:等待连接耗时。
    • pretransfer_time:传输前准备耗时。
    • size_uplpad:上传数据的大小。
    • size_download:下载数据的大小。
    • speed_download:下载速度。
    • speed_upload:上传速度。
    • download_content_length:下载内容的长度。
    • upload_content_length:上传内容的长度。
    • starttransfer_time:开始传输的时间表。
    • redirect_time:重定向耗时。

    curl_getinfo()函数还有一个可选择参数$opt,通过这个参数可以设置以上的常量,对应到上述这个字段;如果设置第二个参数,那么返回的只有第二个参数。例如:$opt为CURLINFO_TOTAL_TIME,则curl_getinfo()函数只返回total_time,即总传输消耗时间,在只需要关注某些传输信息时,设置$opt参数很有意义。

    使用CURL发送GET请求

    如何使用curl来发送get请求,发送get请求的关键是拼装格式正确的URL.php提供了一个函数来专门拼装GET请求和数据部分----http_build_query(),该函数接受一个关联数组,返回由该关联数据描述的GET请求字符串;

    例子如下:

    //封装curl的get请求方式;doCurlGetRequest()

    function doCurlGetRequest($url,$data,$timeout = 5){

    if($url == '' || $data = ' '){

    return false;

      }

     $url = $url . '?'.http_build_query($data);

    $ch  =  curl_init((string)$url);

    curl_setopt($ch , CURLOPT_HEADER,false);

    curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);

    curl_setopt($ch , CURLOPT_TIMEOUT , (int)$timeout);

    return curl_exec($ch);

     }

    这个函数把使用http_build_query()拼装好的带GET参数的URL传给curl_init()函数,然后使用curl发送http请求。

    使用CURL发送POST请求

    可以使用CURLOPT_POSTFIELDS,设置该选项为POST就可以把请求放到正文中。

    例子如下:

    function doCurlPostRequest($url , $requestString , $timeout = 5){

    $ch = curl_init(string($url));

    curl_setopt($ch , CURLOPT_HEADER , false);

    curl_setopt($ch , CURLOPT_POSTFIELDS , $requeststring);

    curl_setopt($ch , CURLOPT_POST , true);

    curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);

    curl_setopt($ch , CURLOPT_TIMEOUT , $timeout);

    return curl_exec($ch);

     }

    原文地址:http://blog.csdn.net/will5451/article/details/76211536

  • 相关阅读:
    斐波拉切数列学习笔记
    BPC全面预算管理学习专题(SAP)
    AjaxPro新发现错误处理
    漂亮的页面向导和Tab插件(Jquery)
    从SAP BPC中Entity维设计的理念考虑Web程序中类似文档库之类的设计该考虑的东西
    VBA之Range,cells,offset,end 的区别(转)
    Jquery.Cookie使用方法(转)
    机场市场采购网(www.caigo365.com)亮点介绍电子书(杂志)的应用
    showModalDialog()showModelessDialog()方法使用详解(转)
    微软依赖注入Unity(转)
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/8425421.html
Copyright © 2011-2022 走看看