/**

* 模拟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提交请求,调用接口相关推荐

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

    有两种写法可以调用接口获取返回数据(如下): 写法 一: /*** 模拟post进行url请求* @param string $url* @param string $param*/ function ...

  2. php模拟post提交请求与调用接口

    /*** 模拟post进行url请求* @param string $url* @param string $param*/function request_post($url = '', $para ...

  3. SAP调用外围系统接口SXI_MONITOR有显示但是实际上没有调用接口的问题

    今天在测试的时候发现,在SAP端程序在调用接口的时候,数据是有传输的,SXI_MONITOR里面是可见的,如图: 可以通过上面的图看到,这些有问题的数据的旗子标识和其它的接口日志的不一样,鼠标对准旗子 ...

  4. 在线接口测试模拟移动端请求API接口

    我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...

  5. 利用在线HTTP接口测试工具ApiPost,模拟移动端请求API接口

    我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求. 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了. 利用接口测试工具ApiPost ...

  6. Linux下在shell中使用curl模拟get,post请求访问接口并设置代理

    在服用端做测试或查找问题的时候,难免要测试接口,测试接口最简单的方法就是利用shell的curl命令来模板get,post请求,每次都用,但是有些参数时间一长就记不清楚了,所以记录一下以备忘 curl ...

  7. java后台post请求调用接口

    今天项目接口一直调不通,于是我修改了相关的代码 在网上找到了一个很好的例子: public static String httpPost(String urlStr,Map<String,Str ...

  8. 小程序体验版本接口是http协议,打开不调用接口

    工作中遇到的问题: 小程序体验版本打开后显示空白 只有点击"打开调试模式"再次打开才能显示正常 原因: 因为体验版本的接口协议是http,但小程序只认https,所以不会去调接口: ...

  9. java接口的默认方法,实现类调用接口默认方法

    概述 Java8带来了一些全新的特性,包括lambda表达式.函数接口.方法引用.流.可选方法.接口中的静态方法和默认方法. 在本文中,我们将深入讨论为什么java8接口新增了默认方法,如何使用默认方 ...

最新文章

  1. solr开发,提交索引数据的几种方式
  2. [JZOJ5866]【NOIP2018模拟9.13】指引
  3. Java 9 接口私有方法
  4. es6 SharedArrayBuffer对象
  5. 腾讯:干掉头条,先拿抖音开刀!
  6. 海量数据挖掘MMDS week7: 相似项的发现:面向高相似度的方法
  7. Verilog——计数器
  8. 【BJOI2019】勘破神机(下降幂转自然幂)(第一类斯特林数)(特征方程)
  9. 浅谈移动端——前端适配详解
  10. 智能车小白必看,该竞赛相关宝贵经验+资源借鉴总结1
  11. ARP是如何工作的?
  12. 从0到10亿,微信后台架构及基础设施设计与实践!
  13. 无比强大!Python抓取cssmoban网站的模版并下载
  14. jetty服务器无响应,【在服务器启动jetty后无法启动_jetty/tomcat】 | IT修真院·坑乎...
  15. Windows编程基础 - 概述
  16. 摆平Win2008与VPC2007的诡异冲突
  17. android textview抽屉滑动,Android SlidingDrawer 滑动抽屉效果
  18. JAVA(计算机编程语言)
  19. 我是一个新手小白,想学习C++编程,但是不知道该如何入手。请大神们给出一个简单的思路。
  20. 六、Web服务体系结构

热门文章

  1. git master主分支_Git分支管理策略及简单操作
  2. 风变的python课程怎么样_风的解释|风的意思|汉典“风”字的基本解释
  3. 给摩托车上个牌,却把自己干骨折了...
  4. 火狐最实用的几款插件介绍[含附件]
  5. Oracle 创建用户 scott 例
  6. 1-1.Win10系统利用Pycharm社区版安装Django搭建一个简单Python Web项目的步骤之一
  7. L-BFGS算法/Broyden族/BFGS算法/阻尼牛顿法的Python实现代码
  8. Python-Pandas之两个Dataframe的差异比较
  9. 计算机中隐藏的文件找不到了怎么办,隐藏文件夹找不到了怎么办【图解】
  10. EntityFramework进阶——Entity Splitting和Table Splitting