欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP通过curl向其它服务器发请求并返回数据

程序员文章站 2022-04-15 16:41:23
在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现 首先定义请求的url,然后创建httpHeader的头,定义通过post方式发送请求的参数: 初始化curl: 发送请求: 接收返回 ......

在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现

首先定义请求的url,然后创建httpheader的头,定义通过post方式发送请求的参数:

 

初始化curl:

 1 $url="url地址";
 2   
 3 //然后创建httpheader的头:
 4   
 5 $httpheader=createhttpheader();
 6   
 7 //定义通过post方式发送请求的参数:
 8   
 9 $curlpost="userid=".$userid."&name=".$nickname."&portraituri=".$headimg;
10   
11 //初始化curl:
12   
13 $ch=curl_init();undefined

 

发送请求:

1 curl_setopt($ch,curlopt_url,$url);
2 curl_setopt($ch,curlopt_httpheader,$httpheader);
3 curl_setopt($ch,curlopt_header,false);
4 curl_setopt($ch,curlopt_ssl_verifypeer,false);
5 curl_setopt($ch,curlopt_post,1);
6 curl_setopt($ch,curlopt_postfields,$curlpost);
7 curl_setopt($ch,curlopt_timeout,30);
8 curl_setopt($ch,curlopt_dns_use_global_cache,false);
9 curl_setopt($ch,curlopt_returntransfer,true);undefined

接收返回的数据:$data=curl_exec($ch);关闭curl:curl_close($ch);这样就通过curl完成了一次post请求,并获取到了返回的数据。

 

完整php源码如下:

 1 $url="请求的url地址";
 2 $httpheader=createhttpheader();
 3 $curlpost="userid=".$userid."&name=".$nickname."&portraituri=".$headimg;
 4 $ch=curl_init();
 5 curl_setopt($ch,curlopt_url,$url);
 6 curl_setopt($ch,curlopt_httpheader,$httpheader);
 7 curl_setopt($ch,curlopt_header,false);
 8 curl_setopt($ch,curlopt_ssl_verifypeer,false);
 9 curl_setopt($ch,curlopt_post,1);
10 curl_setopt($ch,curlopt_postfields,$curlpost);
11 curl_setopt($ch,curlopt_timeout,30);
12 curl_setopt($ch,curlopt_dns_use_global_cache,false);
13 curl_setopt($ch,curlopt_returntransfer,true);
14 $data=curl_exec($ch);
15 curl_close($ch);undefined