PHP中使用curl实现get、post请求

版权声明:本文为博主原创文章,拒绝相同的垃圾博文。 https://blog.csdn.net/tsummerb/article/details/53670833

一、curl简单介绍

  curl 是一个利用URL语法规定来传输文件和抓取数据的工具,作为后台开发,一般在项目接口对接中用的比较频繁,可以通过get请求或者post请求抓取json数据或者xml数据。

二、php建立curl请求的基本步骤

 ①初始化curl

    curl_init()

 ②设置curl的属性

    curl_setopt(),有一长串cURL参数可供设置,它们能指定URL请求的各个细节

 ③执行并获取结果集

    curl_exec()

 ④释放句柄

    curl_close()

三、自己封装的常用到的几个方法

<1>拼接url

function getUrl($url,$arr){
 foreach($arr as $key=>$val){
    $url.=$key.'='.$val.'&';
 }
 $url = substr($url,0,-1);
 return $url 
}

<2>get方式获取数据

function curl_get($url)
{
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,$url);          //抓取指定网页
  curl_setopt($ch, CURLOPT_HEADER, 0);         //设置header
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上
  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

<3>post方式获取数据

function curl_post($url,$post)
{
   $ch = curl_init();
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
   curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
   $data = curl_exec($ch);
   curl_close($ch);
   return $data;
}

<4>签名生成

function getSign($arr,$miyao)
{
   $str = '';
   ksort($arr);
   foreach($arr as $key=>$val){
       $str .=$key.'='.$val.'&';
    }
    $str.='key='.$miyao;
    //return $str;
    return strtoupper(md5($str));
}

猜你喜欢

转载自blog.csdn.net/tsummerb/article/details/53670833