php模拟post提交请求调用接口示例解析
发布:smiling 来源: PHP粉丝网 添加日期:2022-03-21 11:55:16 浏览: 评论:0
这篇文章主要介绍了php模拟post提交请求调用接口示例解析,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
php模拟post提交请求,调用接口:
- /**
- * 模拟post进行url请求
- * @param string $url
- * @param string $param
- */
- function request_post($url = '', $param = '') {
- if (emptyempty($url) || emptyempty($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 (emptyempty($url) || emptyempty($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);
- }
Tags: php模拟post php请求调用接口
- 上一篇:基于PHP+mysql实现新闻发布系统的开发
- 下一篇:最后一页

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)