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


Posted in PHP onJanuary 13, 2017

首先是客户端执行方法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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php PDO中文乱码解决办法
Jul 20 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
PHP输入输出流学习笔记
May 12 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php实现留言板功能
Mar 05 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 #PHP
php 解决扫描二维码下载跳转问题
Jan 13 #PHP
PHP使用递归算法无限遍历数组示例
Jan 13 #PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 #PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 #PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 #PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 #PHP
You might like
用cookies来跟踪识别用户
2006/10/09 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python实现Const详解
2015/01/27 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python邮件发送smtplib使用详解
2020/06/16 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
化学实验员岗位职责
2013/12/28 职场文书
大学应届生的自我评价
2014/03/06 职场文书
关键在于落实心得体会
2014/09/03 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
监守自盗观后感
2015/06/10 职场文书