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);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 中class,PHP5中的类(class) (转)

类的结构:类的内部能可能有三种东西,就是常量(constant),属性(property)和方法(method),功能可以理解成类外部的常量,变量和函数。在这之中,属性和方法又可以使用public, protected, private三个不同的关键…

Php jsondb,JsonDB-PHP

JsonDB项目介绍JsonDB是一个由原生PHP实现的文件数据库,JsonDB只有一个文件,如果你不想使用庞大的数据库系统,而且只需要单机功能,那么JsonDB就是你最佳的选择。 JsonDB只有初始化写入和查询功能,所以适用于比较固定的,数据量不大…

php 发送post请求json,thinkphp ,php post发送json请求,就收post请求

发送方的代码如下namespace Api\Controller;use Think\Controller;class IndexController extends Controller{public function send(){ini_set("error_reporting","E_ALL & ~E_NOTICE");$obj->phonenum 15340958922;$data json_encode($obj);$ur…

lavarel php区别,laravel中{{}}和{!! !!}的区别详解

本篇文章介绍了laravel中{{}}和{!! !!}的区别,感兴趣的朋友可以参考下。laravel中{{}}和{!! !!}的区别详解1.{{}}和{!! !!} 中{{}}支持转义 一段html代码只是被当成普通的字符串输出 ,{!! !!} 不支持转义 一段html代码可以被正常的解析1.2具体什么意思呢…

php获取ios,IOS 通过描述获取UDID PHP代码版

难点在于PHP对XML的解析文件结构:第一步:新建HTML文件 用于跳转安装描述文件 必须在safari里面打开地址第二步:新建udid.mobileconfig文件PayloadContentURLhttps://www.xxx.com/pay_super/receive.phpDeviceAttributesUDIDIMEIICCIDVERSIONP…

matlab如何读取csv,Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件 | 学步园...

CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题。1、 只有数据的CSV文件,CSV file that includes only numbers.As an example, create a text file, named as data.csv if you prefer, which …

matlab怎么写集合,matlab集合操作

C intersect(A,B) -- 返回A和B的交集(相同元素)%----C中的元素将会从小到大排序----%如果A和B都是向量,那么返回A、B中的相同元素如果A和B都是矩阵,intersect(A,B,rows) 将返回A、B中的相同列还有一种调用格式:[C,IA,IB] intersect(A,B);其…

php表单验证内容不能为空,php校验表单检测字段是否为空的方法_PHP教程

php校验表单检测字段是否为空的方法这篇文章主要介绍了php校验表单检测字段是否为空的方法,涉及php验证表单的技巧,非常具有实用价值,需要的朋友可以参考下本文实例讲述了php校验表单检测字段是否为空的方法。分享给大家供大家参考。具体如下:php校验表单&#xff0…

url中隐藏php后缀,url中如何隐藏.php

url中隐藏“.php”的方法:首先找到并打开“nginx.conf”配置文件;然后添加内容“location / {ttry_files $uri $uri/ $uri.php$is_args$args;}”;最后保存修改即可。推荐:《PHP视频教程》现在很多人都喜欢用nginx作为Web服务器部署…

php字符串中单引号与双引号的区别,简单概括PHP的字符串中单引号与双引号的区别...

今天有个朋友问起,说下区别,顺便复习下。单引号与双引号的不同:" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 单引号里面的不进行解释,直接输出。单引号解析的时间比双引号快 。单引号支持转义符,双引号支持的转…

php 判断ajax访问,PHP里判断是否Ajax请求

$.ajax({type: ‘POST’,url: ‘http://www.yourwebsite.com’,beforeSend: function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader(“request_type”,”ajax”);},data: ‘testtest’,success: function(rs) {alert(‘ok’);}}});PHP代码:echo isset($_SERV…

discuz手机客户端java,Discuz!7.2让高级搜索更全面

Discuz! 7.2 调整了对帖子的高级搜索,使高级搜索的搜索选项更细化,覆盖面更广。一、高级搜索功能介绍高级搜索界面如下图所示:1、按作者:此处可以填写发帖作者全名,也可以使用通配符"*",如填写&q…

php面向对象异常处理,PHP 错误和异常处理(下)

PHP 错误和异常处理(下)由 学院君 创建于9个月前, 最后更新于 7个月前版本号 #11723 views2 likes0 collects上篇我们讲了 PHP 中的错误报告和捕获,今天,我们来看看 PHP 程序中的异常处理。错误 vs. 异常错误与异常可以看作一对孪生兄弟,从严…

php设计者,PHP设计者---composer

Composer 是 PHP5以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理&#…

java内部类练习题,学习笔记——Java内部类练习题

1.尝试在方法中编写一个匿名内部类。package com.lzw;public class AnonymityInnerClass {}class OuterClass4{public OutInterface doit(final String s){return new OutInterface(){private int i0;public int getValue(){System.out.println(s);return i;}public void f(){S…

php左边按钮右边显示,右侧操作按钮

## 方法原型:addRightButton($type , $title , $url , $linkType link, $attr [])> 关于按钮的详细说明请参考[按钮操作](./按钮操作.md)一节。> 注意: 添加操作按钮必须在添加列时添加操作栏一列, 否则即使加了右侧按钮也不会显示## 参数说明&#xff1…

电脑运行java游戏,电脑运行软件卡顿?这几招游戏或是办公,让你速度飞起!...

许多朋友想知道他们已经购买了高端计算机,但是无论玩游戏还是运行软件,他们仍然陷于困境。今天,让我们教大家一个简单的方法来提高计算机性能。焦点:此方法大大提高了用户对高度配置的计算机的影响。如果计算机的设置不太高&#…

c matlab 数据类型,matlab中数据类型与c语言数据类型的区别?

matlab中数据类型与c语言数据类型的区别?mip版 关注:233 答案:3 悬赏:0解决时间 2021-02-23 08:46已解决2021-02-22 22:32matlab中数据类型与c语言数据类型的区别?最佳答案2021-02-22 22:42简单谈一下。1.好多类型是对应的。输入一个数,ma…

mie散射粒子消光系数 matlab代码,一种球形粒子GMie散射效率极值的算法

一种球形粒子G Mie散射效率极值的算法【专利摘要】球形粒子的G?Mie散射问题属于物理光学领域,涉及光与原子的相互作用。G?Mie理论在有着广泛的用途,如分析激光衍射粒度,光镊,激光制冷,大气理论和温室效应分析等。目前…

oracle util_mail,Oracle UTL_MAIL邮件包程序使用实践

在《使用包实现存储过程邮件发送》(http://space.itpub.net/17203031/viewspace-700327)中,笔者已经初步介绍了使用UTL_MAIL包实现系统邮件发送功能。UTL_MAIL包较传统的PL/SQL邮件发送已经有很大改进和简化。但是对于一般系统而言,邮件功能设置(如发送、…