详解php用curl调用接口方法,get和post两种方式

发布时间 - 2026-01-10 22:31:30    点击率:

首先是客户端执行方法ApiModel.php:

<?php 
/**
   * 模拟post进行url请求
   * @param string $url
   * @param array $post_data
   */
  function request_post($url = '',$ispost=true, $post_data = array()) {
    if (empty($url) || empty($post_data)) {
      return false;
    }
    
    $o = "";
    foreach ( $post_data as $k => $v ) 
    { 
      $o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);
    $key=md5(base64_encode($post_data));
    if($ispost){
      $url=$url;
    }else{
      $url = $url.'?'.$post_data;
    }
    
    
    $curlPost = 'key='.$key;
    header("Content-type: text/html; charset=utf-8");
    $ch = curl_init();//初始化curl
    curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    if($ispost){
      curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
      curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
    }
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    return $data;
  }
  ?>

客户端调用方法,可以在此配置基本信息api.php:

<?php 
require 'ApiModel.php';
function testAction(){
    $url = '接口地址';
    $post_data['appid']    = '10';
    $post_data['appkey']   = 'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';
    $post_data['member_name'] = 'zsjs124';
    $post_data['password']  = '123456';
    $post_data['email']  = 'zsjs124@126.com';
    //$post_data = array();
    $res = request_post($url,$ispost=true,$post_data);    
    print_r($res);

  }
testAction();
?>

服务器的接口函数test.php:

<?php 
function serverapi(){
  $key='57173d6ad842d807443ee0db91fed323';
  if($_GET&&$_GET['appkey']=='cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ'||$_POST&&$_POST['key']===$key){
    $arr=array('name'=>'huanglu','password'=>'123456');
    echo json_encode($arr);
  }else{
    exit('非法访问!');
  }
}
serverapi();
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# php  # curl调用接口  # curl  # post接口  # PHP中使用cURL实现Get和Post请求的方法  # php中使用Curl、socket、file_get_contents三种方法POST提交数据  # php的curl实现get和post的代码  # PHP中的使用curl发送请求(GET请求和POST请求)  # PHP的curl实现get  # post和cookie(实例介绍)  # php使用CURL模拟GET与POST向微信接口提交及获取数据的方法  # PHP CURL模拟GET及POST函数代码  # PHP如何使用cURL实现Get和Post请求  # PHP中使用CURL发送get/post请求上传图片批处理功能  # php curl发起get与post网络请求案例详解  # PHP curl get post 请求的封装函数示例【ge  # 客户端  # 在此  # 大家多多  # 屏幕上  # amp  # urlencode  # substr  # key  # return  # empty  # false  # gt  # foreach  # text  # type  # charset  # html  # Content  # base64_encode  # header 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现API资源集合?(Resource Collection教程)  Laravel如何创建自定义Artisan命令?(代码示例)  如何在建站主机中优化服务器配置?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  微信小程序 wx.uploadFile无法上传解决办法  Laravel中的withCount方法怎么高效统计关联模型数量  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  js实现获取鼠标当前的位置  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  使用C语言编写圣诞表白程序  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  jQuery validate插件功能与用法详解  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  动图在线制作网站有哪些,滑动动图图集怎么做?  教你用AI润色文章,让你的文字表达更专业  如何快速搭建高效WAP手机网站?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  详解Android图表 MPAndroidChart折线图  Java类加载基本过程详细介绍  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel PHP版本要求一览_Laravel各版本环境要求对照  浅谈javascript alert和confirm的美化  Laravel如何使用Gate和Policy进行授权?(权限控制)  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  简单实现jsp分页  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Linux系统命令中screen命令详解  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何快速选择适合个人网站的云服务器配置?  开心动漫网站制作软件下载,十分开心动画为何停播?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  如何在云主机上快速搭建多站点网站?  如何有效防御Web建站篡改攻击?  EditPlus中的正则表达式 实战(2)  JS实现鼠标移上去显示图片或微信二维码  Laravel如何升级到最新版本?(升级指南和步骤)  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何在万网ECS上快速搭建专属网站?  Laravel如何使用Blade模板引擎?(完整语法和示例)  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives