php模拟post提交请求调用接口示例解析


Posted in PHP onAugust 07, 2020

php模拟post提交请求,调用接口

/**
 * 模拟post进行url请求
 * @param string $url
 * @param string $param
 */
 function request_post($url = '', $param = '') {
 if (empty($url) || empty($param)) {
  return false;
 }
 
 $postUrl = $url;
 $curlPost = $param;
 $ch = curl_init();//初始化curl
 curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
 $data = curl_exec($ch);//运行curl
 curl_close($ch);
 
 return $data;
 }

这是方法,

下面是具体的调用案例。

function testAction(){
 $url = 'http://mobile.jschina.com.cn/jschina/register.php';
 $post_data['appid'] = '10';
 $post_data['appkey'] = 'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';
 $post_data['member_name'] = 'zsjs123';
 $post_data['password'] = '123456';
 $post_data['email'] = 'zsjs123@126.com';
 $o = "";
 foreach ( $post_data as $k => $v ) 
 { 
  $o.= "$k=" . urlencode( $v ). "&" ;
 }
 $post_data = substr($o,0,-1);

 $res = $this->request_post($url, $post_data); 
 print_r($res);

 }

这样就提交请求,并且获取请求结果了。一般返回的结果是json格式的。

这里的post是拼接出来的。

也可以改造成下面的方式。

/**
 * 模拟post进行url请求
 * @param string $url
 * @param array $post_data
 */
 function request_post($url = '', $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);

 $postUrl = $url;
 $curlPost = $post_data;
 $ch = curl_init();//初始化curl
 curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
 $data = curl_exec($ch);//运行curl
 curl_close($ch);
 
 return $data;
 }

将拼接也封装了起来,这样调用的时候就更简洁了。

function testAction(){
 $url = 'http://mobile.jschina.com.cn/jschina/register.php';
 $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 = $this->request_post($url, $post_data); 
 print_r($res);

 }

到此这篇关于php模拟post提交请求调用接口示例解析的文章就介绍到这了,更多相关php模拟post提交请求调用接口内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
php中{}大括号是什么意思
Dec 01 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
Smarty分页实现方法完整实例
May 11 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 #PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 #PHP
基于PHP的登录和注册的功能的实现
Aug 06 #PHP
php中try catch捕获异常实例详解
Aug 06 #PHP
PHP日期和时间函数的使用示例详解
Aug 06 #PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 #PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 #PHP
You might like
windows下安装php的memcache模块的方法
2015/04/07 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
vue中appear的用法
2017/08/17 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
python中pygame模块用法实例
2014/10/09 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
Django中的静态文件管理过程解析
2019/08/01 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
餐厅感恩节活动策划方案
2014/10/11 职场文书
导师鉴定意见
2015/06/05 职场文书
交通事故责任认定书
2015/08/06 职场文书
吃通javascript正则表达式
2021/04/21 Javascript
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
MySQL8.0.18配置多主一从
2021/06/21 MySQL
分享python函数常见关键字
2022/04/26 Python