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();//初始化curlcurl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页curl_setopt($ch, CURLOPT_HEADER, 0);//设置headercurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);//运行curlcurl_close($ch);return $data;
}
//调用示例,这样就提交请求,并且获取请求结果了。一般返回的结果是json格式的。
这里的post是拼接出来的。
function testAction(){$url = 'http://mobile.jschina.com.cn/jschina/register.php';$post_data['appid'] = 'XXXXXXXX';$post_data['appkey'] = 'XXXXXXXXXXXXXXXX';$post_data['member_name'] = 'XXXXXXXX';$post_data['password'] = 'XXXXXXXX';$post_data['email'] = 'XXXXXXXX@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);
}
写法 二:
将拼接也封装了起来,这样调用的时候就更简洁了。
/*** 模拟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();//初始化curlcurl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页curl_setopt($ch, CURLOPT_HEADER, 0);//设置headercurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);//运行curlcurl_close($ch); return $data;
}
//调用接口,获取返回数据
function testAction(){$url = 'http://mobile.jschina.com.cn/jschina/register.php';$post_data['appid'] = 'XXXXXXXX';$post_data['appkey'] = 'XXXXXXXXXXXXXXXX';$post_data['member_name'] = 'XXXXXXXX';$post_data['password'] = 'XXXXXXXX';$post_data['email'] = 'XXXXXXXX@126.com';//$post_data = array();$res = $this->request_post($url, $post_data); print_r($res);
}
php 模拟post提交请求,调用接口相关推荐
- php模拟post提交请求与调用接口
/*** 模拟post进行url请求* @param string $url* @param string $param*/function request_post($url = '', $para ...
- php调接口post,php模拟post提交请求,调用接口
/** * 模拟post进行url请求 * @param string $url * @param string $param */ function request_post($url = '', ...
- 在线接口测试模拟移动端请求API接口
我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...
- 利用在线HTTP接口测试工具ApiPost,模拟移动端请求API接口
我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...
- python request大批量发送请求调用接口时,报错:[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
接到一个项目需求,其中需要调用到供应商的Http API,因为有大量的测试资源,所以代码中会循环调用API. 然而在测试代码执行过程中,过程中偶尔报错: 此时看到报错,怀疑是可能是同时并发的问题, ...
- java后台post请求调用接口
今天项目接口一直调不通,于是我修改了相关的代码 在网上找到了一个很好的例子: public static String httpPost(String urlStr,Map<String,Str ...
- Linux下在shell中使用curl模拟get,post请求访问接口并设置代理
在服用端做测试或查找问题的时候,难免要测试接口,测试接口最简单的方法就是利用shell的curl命令来模板get,post请求,每次都用,但是有些参数时间一长就记不清楚了,所以记录一下以备忘 curl ...
- 模拟发起http请求的几种方法
如何使用http协议调用服务器端的服务. 在日常工作中很多时候我们会需要测试自己提供出来的方法, 很多时候一些方法跨平台提供给第三方使用,一般与服务器通信协议都选择http协议, 建议可以去仔细学习一 ...
- java跨域权重_爱站权重查询 API 接口请求调用
原标题:爱站权重查询 API 接口请求调用 爱站权重查询 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以GET/POST方式提交即可.爱站权重查询 API 接口可以 ...
最新文章
- 利用python爬虫与数据分析,打造最强玩法,轻松成为大神级玩家!
- Web 架构师的能力(转)
- 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径
- Smarty变量调节器的使用
- vue实现下拉框动态筛选
- SQL语句中用Parameters有什么好处
- ipython版本_使用pyenv切换版本后ipython无法使用解决方法
- Ta 在假笑么?这个识别算法可以鉴定
- 语音识别系统_智能语音识别系统_第三方语音识别系统 - 云+社区 - 腾讯云
- 爱河许云上计算机乐谱,神马乐团爱河简谱
- Vue折腾记 - (2)写一个不大靠谱的面包屑组件
- 2020 智慧城市解决方案(智慧城市系统及相关技术)
- 中国全电动注塑机行业发展趋势及未来需求前景预测报告(2022-2027年)
- 三 国外IP核主要竞争对手
- 什么是云服务器?什么是阿里云服务器管理?
- 国空三区三线思考之:Arcgis自上而下从左到右进行编号
- (附源码)springboot社区养老医疗服务平台 毕业设计 041148
- 不一样的视觉盛宴,Python实现3D地图
- c语言中赋值号左边必须为变量,.在C语言的赋值语句中,赋值号左边必须是(12)——青夏教育精英家教网——...
- DAS、NAS、SAN三种存储架构
热门文章
- CPU和Soc的区别
- 卷积云神经网络_大气光学质量,Optical air mass,音标,读音,翻译,英文例句,英语词典...
- 自定义Button实现百分比宽度
- (15)webpack externals
- 域名空间的申请和项目的部署及发布
- java编写salary函数_编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量...
- 【近似最近邻搜索】在茫茫点集中,怎么找到你的邻居
- 2021最新版JAVA开发面试那些事儿~(结尾有字节、华为面试内容)
- Word+Mathtype的双栏科研论文排版技巧
- Linux上查找最大文件的3种方法