php curl 连接参数介绍与使用实例

一、curl简介

  • 可以理解为一个连接其他网页、接口的通道,支持多种协议,多种连接方式,可以传递参数等
  • 官网解释如下

    PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器、使用各种协议。libcurl 目前支持的协议有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同时支持 HTTPS 证书、HTTP POST、HTTP PUT、 FTP 上传(也能通过 PHP 的 FTP 扩展完成)、HTTP 基于表单的上传、代理、cookies、用户名+密码的认证


     

二、curl常用方法

  1. curl_init([url])
    1. 创建一个新的cURL资源,初始化新会话,填写url则打开相应资源,也可以从curl_setopt处设置,返回cURL句柄(错误返回false)
  2. curl_setopt(resource $ch , int $option , mixed $value)
    1. 为cURL句柄设置选项,返回值为bool详细参数
    2. $ch 是由curl_init()返回的句柄资源,$option为当前设置句柄的选型(CURLOPT_XXX),$value为在$option上设置的值
  3. curl_exec($ch)
    1. 执行cURL会话
    2. 不设置CURLOPT_RETURNTRANSFER时返回bool值,设置后返回原生的内容(php5.1.3开始)
  4. curl_close($ch)
    1. 关闭cURL会话,释放资源,句柄也会被删除
    2. 没有返回值

三、访问接口传参数并获取返回值

  1. 以微信支付下单api为例,发送接收均为xml
    1. $ch = curl_init();
      curl_setopt($ch,CURLOPT_URL, $url);
      //curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);    //不证书进行校验
      curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);    //严格校验证书
      curl_setopt($ch, CURLOPT_HEADER, FALSE);    //设置header
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);    //要求结果为字符串且输出到屏幕上
      curl_setopt($ch, CURLOPT_POST, TRUE);    //发送post请求
      curl_setopt($ch, CURLOPT_POSTFIELDS, ToXml($para));    //设置发送的数据
      $data = curl_exec($ch);    //执行句柄
      curl_close($ch)    //关闭句柄
      $data = simplexml_load_string($data,'SimpleXMLElement', LIBXML_NOCDATA);
      $data = json_encode($data);
      $data = json_decode($data,true);

       

  2. 以接口对接访问为例,发送接收均为json
    1. $post_data = json_encode($post_data);
      $curl = curl_init($url);
      curl_setopt($curl, CURLOPT_HEADER, false);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
      $data = curl_exec($curl);
      curl_close($curl);
      $data = json_decode($data,true);

       

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值