?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/**
* 模拟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 ;
}
|
这是方法,
下面是具体的调用案例。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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是拼接出来的。
也可以改造成下面的方式。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/**
* 模拟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 ;
}
|
将拼接也封装了起来,这样调用的时候就更简洁了。
?
1
2
3
4
5
6
7
8
9
10
11
12
|
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提交请求调用接口内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!
原文链接:https://www.cnblogs.com/jiqing9006/p/3949190.html
相关文章
猜你喜欢
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 37
-
2025-05-27 91
-
2025-05-29 50
-
2025-06-04 98
-
2025-05-29 93
热门评论