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:重定向耗时。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20404.html

(0)
上一篇 2021年7月19日 23:22
下一篇 2021年7月19日 23:22

相关推荐

发表回复

登录后才能评论