成功最有效的方法就是向有经验的人学习!

PHP请求远程API

 

如: 
http://localhost/operate.php?act=get_user_list&type=json 
在这里operate.php相当于一个接口,其中get_user_list 是一个API(获取用户列表),讲求返回的数据类型为JSON格式。 
你只需要在你PHP代码中执行这条链接他就会返回。 
GET方式的直接使用 
 $file_contents = file_get_content('http://localhost/operate.php?act=get_user_list&type=json') 
 POST方式得用下面的(需要开启PHP curl支持)。 
 $url = 'http://localhost/operate.php?act=get_user_list&type=json'; 
$ch = curl_init (); 
curl_setopt ( $ch, CURLOPT_URL, $url ); 
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 ); 
curl_setopt ( $ch, CURLOPT_POST, 1 ); //启用POST提交 
$file_contents = curl_exec ( $ch ); 
curl_close ( $ch );

file_get_content不能使用时

用以下办法处理

有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容。那就是可以使用另外一个函数curl。

下面是file_get_contents和curl两个函数同样功能的不同写法

file_get_contents函数的使用示例:

< ?php 
$file_contents = file_get_contents('http://www.ccvita.com/'); 
echo $file_contents; 
?>

换成curl函数的使用示例:

< ?php 
$ch = curl_init(); 
$timeout = 5;  
curl_setopt ($ch, CURLOPT_URL, 'http://www.ccvita.com'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$file_contents = curl_exec($ch); 
curl_close($ch); 
   
echo $file_contents; 
?>

利用function_exists函数来判断php是否支持一个函数可以轻松写出下面函数

< ?php 
function vita_get_url_content($url) { 
if(function_exists('file_get_contents')) { 
$file_contents = file_get_contents($url); 
} else { 
$ch = curl_init(); 
$timeout = 5;  
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$file_contents = curl_exec($ch); 
curl_close($ch); 
} 
return $file_contents; 
} 
?>

 

赞(0) 打赏
未经允许不得转载:陈桂林博客 » PHP请求远程API
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册