//使用file_get_contents获取接口数据
public function api(){
$url="http://172.16.112.3/api.php"; //url地址
$data=file_get_contents($url);
print_r($data);
}
//使用curl获取接口数据
public function api(){
$data_url = "http://172.16.112.3/api.php"; //数据所在地址
$ch = curl_init();//初始化
curl_setopt($ch, CURLOPT_URL, $data_url);//设置访问的URL
curl_setopt($ch, CURLOPT_HEADER, false);//设置不需要头信息
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
$str = curl_exec($ch);//执行访问,返回结果
curl_close($ch);//关闭curl,释放资源
return $str;
}
使用封装的curl类来进行获取数据
把分装好的类放在tp5的extend下:
代码如下:
<?php
class Curl
{
/**
* @param $url
* @return bool|mixed
*/
static public function get($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
/**
* @param $url
* @return bool|mixed
*/
static public function getXml($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sC