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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
在字符串中把网址改成超级链接
Oct 09 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP生成静态页
2006/11/25 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
JavaScript"模拟事件"的注意要点详解
2019/02/13 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
Python pass 语句使用示例
2014/03/11 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
python统计字符的个数代码实例
2020/02/07 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
副总经理工作职责
2013/11/28 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
爱心捐款倡议书
2014/04/14 职场文书
2014高考励志标语
2014/06/05 职场文书
国庆促销活动总结
2014/08/29 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
志愿者个人总结
2015/03/03 职场文书
水电施工员岗位职责
2015/04/11 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
会议新闻稿
2015/07/17 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers