PHP通过curl向其它服务器发请求并返回数据
程序员文章站
2022-06-27 21:46:19
在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如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