zoukankan      html  css  js  c++  java
  • PHP的CURL

    使用CURL完成一个请求:

    1. 初始化连接句柄
    2. 设置CURL选项
    3. 执行并获取结果
    4. 释放CURL连接句柄
    发送GET请求
    function doGetRequest($url,$data,$timeout = 5){
         if($url == "" || $timeout <= 0){
             return false;
         }
         $url = $url.'?'.http_build_query($data);//拼装GET请求字符串
         $c = curl_init((string)$url);
         curl_setopt($c, CURLOPT_HEADER, false);
         curl_setopt($c, CURLOPT_RETURNTRANSFER,true);
         curl_setopt($c, CURLOPT_TIMEOUT, (int)$timeout);
         $body= curl_exec($c);
        if($body === FALSE ){
             echo "CURL Error:".curl_error($c);
         }
         curl_close($c);
         return  $body;   
    }
    发送post请求
    function dolPostRequest($url,$data,$timeout = 5){
         if($url == '' || $timeout <=0){
             return false;
         }
        $requestString=http_build_query($data);
         $c = curl_init((string)$url);
         curl_setopt($c, CURLOPT_HEADER, false);
         curl_setopt($c, CURLOPT_POSTFIELDS, $requestString);
         curl_setopt($c, CURLOPT_POST,true);
         curl_setopt($c, CURLOPT_RETURNTRANSFER,true);
         curl_setopt($c, CURLOPT_TIMEOUT,(int)$timeout);
        $body= curl_exec($c);
        if($body === FALSE ){
             echo "CURL Error:".curl_error($c);
         }
         curl_close($c);
         return  $body;  
    }    

    CURL_POST为true,标识这个请求是一个POST请求

     会获取当前请求的相关信息

    使用curl_getinfo()函数获取CURL请求输出的相关信息

    curl_exec($c);
    $info = curl_getinfo($c);

    会得到一个关联数组

    • 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:重定向耗时。
  • 相关阅读:
    chapter4 quantum circuits
    《用广义CNOT门产生质数幂维的图态》
    幺正矩阵的分解
    SpringCloud学习----阳哥(五)
    SpringCloud学习----阳哥(四)
    SpringCloud学习----阳哥(三)
    SpringCloud学习----阳哥(二)
    SpringCloud学习----阳哥(一)
    IDEA插件介绍(一) -RestfulToolkit(接口自测工具)
    常用SQL语句和XML文件格式
  • 原文地址:https://www.cnblogs.com/baby123/p/5995499.html
Copyright © 2011-2022 走看看