通过curl获取域名注册信息
更新:HHH   时间:2023-1-7


    今天做项目的时候碰见一个需求:客户想要在自己的网站上加上一个查询域名的功能,就是我们买域名的时候在运营商官网上的那个东西.后来一查发现很简单,直接就可以获取到.

    主要的知识点就是curl的简单的应用,curl是个很神奇的东西,要想用明白得用点心.由于我也是个初学者,就不在这里瞎扯了.

        

    页面主要有两个:index.php(展示页面);test.php(返回的信息页面)


    index.php

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<form id="form" method="post" action="test.php"> 

<p><input type="text" name="dns"></p>

<p><select name="ext" id="slt"></select></p>

<input type="submit" value="查询">

</form>

</body>

<script>

var suffixarr=['.com','.cn','.tel','.mobi','.net','.org','.asia','.me',

'.com.cn','.net.cn','.org.cn','.gov.cn','.hk','.tv','.biz',

'.cc','.name','.info'];

var sltobj=document.getElementById('slt');

for(var i in suffixarr)

{

sltobj.innerHTML+='<option value="'+suffixarr[i]+'">'+suffixarr[i]+'</option>';

}

</script>

</html>


    test.php

<?php 

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

$name    = $_POST['dns']; //获取域名

$shuffix = $_POST['ext'];   //后缀

$domain  = $name.$shuffix; //拼接字符串

$str='http://panda.www.net.cn/cgi-bin/check.cgi?area_domain='.$domain;  //请求的链接

curl_setopt($curl,CURLOPT_URL,$str); 

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设置默认不输出

$arr=simplexml_load_string(curl_exec($curl));  //将xml转换成xml对象

$returned=substr($arr->original,0,3);   //截取original里面的内容,也就是返回值

if($returned=='210')  //未被注册

{

echo "<h5 style='color:#0CB525'><span style='color:#333'>{$domain}</span>可注册!</h5>";

}

else if($returned=='211')  //已经被注册

{

echo "<h5 style='color:#f00'><span style='color:#333'>{$domain}</span>已经被注册!</h5>";

}

else if($returned=='212')  //系统问题

{

echo "<h5 style='color:#f00'>系统错误!</h5>";

}

curl_close($curl); //销毁资源

 ?>



经过我的测试,demo可行

返回web开发教程...