php调接口post,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 模拟post提交请求,调用接口
有两种写法可以调用接口获取返回数据(如下): 写法 一: /*** 模拟post进行url请求* @param string $url* @param string $param*/ function ...
- php模拟post提交请求与调用接口
/*** 模拟post进行url请求* @param string $url* @param string $param*/function request_post($url = '', $para ...
- SAP调用外围系统接口SXI_MONITOR有显示但是实际上没有调用接口的问题
今天在测试的时候发现,在SAP端程序在调用接口的时候,数据是有传输的,SXI_MONITOR里面是可见的,如图: 可以通过上面的图看到,这些有问题的数据的旗子标识和其它的接口日志的不一样,鼠标对准旗子 ...
- 在线接口测试模拟移动端请求API接口
我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...
- 利用在线HTTP接口测试工具ApiPost,模拟移动端请求API接口
我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...
- Linux下在shell中使用curl模拟get,post请求访问接口并设置代理
在服用端做测试或查找问题的时候,难免要测试接口,测试接口最简单的方法就是利用shell的curl命令来模板get,post请求,每次都用,但是有些参数时间一长就记不清楚了,所以记录一下以备忘 curl ...
- java后台post请求调用接口
今天项目接口一直调不通,于是我修改了相关的代码 在网上找到了一个很好的例子: public static String httpPost(String urlStr,Map<String,Str ...
- 小程序体验版本接口是http协议,打开不调用接口
工作中遇到的问题: 小程序体验版本打开后显示空白 只有点击"打开调试模式"再次打开才能显示正常 原因: 因为体验版本的接口协议是http,但小程序只认https,所以不会去调接口: ...
- java接口的默认方法,实现类调用接口默认方法
概述 Java8带来了一些全新的特性,包括lambda表达式.函数接口.方法引用.流.可选方法.接口中的静态方法和默认方法. 在本文中,我们将深入讨论为什么java8接口新增了默认方法,如何使用默认方 ...
最新文章
- solr开发,提交索引数据的几种方式
- [JZOJ5866]【NOIP2018模拟9.13】指引
- Java 9 接口私有方法
- es6 SharedArrayBuffer对象
- 腾讯:干掉头条,先拿抖音开刀!
- 海量数据挖掘MMDS week7: 相似项的发现:面向高相似度的方法
- Verilog——计数器
- 【BJOI2019】勘破神机(下降幂转自然幂)(第一类斯特林数)(特征方程)
- 浅谈移动端——前端适配详解
- 智能车小白必看,该竞赛相关宝贵经验+资源借鉴总结1
- ARP是如何工作的?
- 从0到10亿,微信后台架构及基础设施设计与实践!
- 无比强大!Python抓取cssmoban网站的模版并下载
- jetty服务器无响应,【在服务器启动jetty后无法启动_jetty/tomcat】 | IT修真院·坑乎...
- Windows编程基础 - 概述
- 摆平Win2008与VPC2007的诡异冲突
- android textview抽屉滑动,Android SlidingDrawer 滑动抽屉效果
- JAVA(计算机编程语言)
- 我是一个新手小白,想学习C++编程,但是不知道该如何入手。请大神们给出一个简单的思路。
- 六、Web服务体系结构
热门文章
- git master主分支_Git分支管理策略及简单操作
- 风变的python课程怎么样_风的解释|风的意思|汉典“风”字的基本解释
- 给摩托车上个牌,却把自己干骨折了...
- 火狐最实用的几款插件介绍[含附件]
- Oracle 创建用户 scott 例
- 1-1.Win10系统利用Pycharm社区版安装Django搭建一个简单Python Web项目的步骤之一
- L-BFGS算法/Broyden族/BFGS算法/阻尼牛顿法的Python实现代码
- Python-Pandas之两个Dataframe的差异比较
- 计算机中隐藏的文件找不到了怎么办,隐藏文件夹找不到了怎么办【图解】
- EntityFramework进阶——Entity Splitting和Table Splitting