PHP+json开发API接口实例

时间:2024-02-23 18:45:55

首先要将接口实例分为服务端和客户端:

简单粗暴,直接上代码!代码以一个简单的限制域名访问为例.

服务端(下面代码复制到api.php):

 

// 定义接口返回值

$now_url="localhost";

$success = \'\';

$output = array();

$url = @$_GET[\'url\'] ? $_GET[\'url\'] : \'\';//根据需要自行设置

$con = mysql_connect("localhost","数据库用户名","数据库密码");

if (!$con)

  {

  die(\'Could not connect: \' . mysql_error());

  }

mysql_select_db("连接的数据库名", $con);

//SQL语句可忽略,按自己需求随意发挥,开心就好

$sql="SELECT url1,url2 FROM [表名] where [字段1]=1 and [字段2]=\'$url\' or url2=\'$url\'";

$result = mysql_query($sql);

 if(!$result)  

    {  

        die("Valid result!");  

    }

while($row = mysql_fetch_array($result,MYSQL_ASSOC))

  {

  if (!empty($row)) {

  $success = \'1\';

  }

  else{

  $success=\'0\';

  }

  // 返回json数据,或者字符串,数字。

    $json = array(\'success\' =>$success);

    echo json_encode($json);

  //echo "

";

 

  //var_dump($row);  

  //mysql_free_result($rs);

  }

mysql_close($con);

?>

客户端:

在需要调用接口的地方加上以下代码

$now_url=$_SERVER[\'HTTP_HOST\'];

    $requesturl="http://www.xxx.com/api.php?url=".urlencode($now_url);

    //curl方式获取json数组

    $curl = curl_init(); //初始化

    curl_setopt($curl, CURLOPT_URL, $requesturl);//设置抓取的url

    curl_setopt($curl, CURLOPT_HEADER, 0);//设置头文件的信息作为数据流输出

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设置获取的信息以文件流的形式返回,而不是直接输出。

    $data = curl_exec($curl);//执行命令

    curl_close($curl);//关闭URL请求

    //显示获得的数据

    //print_r($data);

    $obj=json_decode($data);

    echo $result=$obj->success;

    if ($result!=1) {

    {exit(\'对不起域名受限\');}

    }

文章来源:微笔记博客