在上一篇文章讲到了获取cookie
这里的WHOIS查询是需要使用这个cookie的
接口地址:http://api.chaxun.la/toolsapi/getwhois/
请求参数:
参数名 | 说明 |
k | 域名 |
keywordsid | 登陆成功获得的cookie字符串,详情「查询啦基本接口-登陆API」 |
刚刚获取了一个COOKIE:V2JcN1s6ADICM1Z6BmBRNVplAmEBP1ZtAzcCYQVgVzINPlw0W2NUaAMzBWYGYVAzDGVTP1VhU2xVMAY4XmxRZFdiXDZbOwA3AmJWYw==
这里的cookie有效期一般是24小时
假设我们要查询百度的whois,需要构造:http://api.chaxun.la/toolsAPI/getwhois/?k=baidu.com&keywordsid=V2JcN1s6ADICM1Z6BmBRNVplAmEBP1ZtAzcCYQVgVzINPlw0W2NUaAMzBWYGYVAzDGVTP1VhU2xVMAY4XmxRZFdiXDZbOwA3AmJWYw==%E2%80%8B
我们看到这是一个二维数组
返回字段 | 说明 |
status | 状态码 |
data | 返回的数据对象 |
id | 网站id |
Sitename | 网站名 |
Owner | 所属人 |
Organization | 所属机构 |
UpdatadDate | 更新时间 |
CreationDate | 创建时间 |
ExpirationDate | 过期时间 |
Details | 详细时间 |
time | 耗时 |
用php怎么实现呢?
首先得是使用它的 cookie
如果集成在一起,我们可以接收get请求,获取用户需要查询的域名 $_GET['domain'] 这里的domain可以换成其他值
提交后,会返回json数据,上面说到,返回的是一个二维数组。
$json2['XXX']['XXX']; //这句就是解析二维数组里面数据
下面的echo输出的是域名的详细信息
PHP
<?php
/**
*liaozixu.com
*查询啦查询whois api接口
*<admin@liaozixu.com>
*/
define("USERNAME", "admin"); //用户账户
define("PASSWORD", "111111111111111111111111111111"); //用户密码的MD5
$liaozixu_chaxunla_url = "http://api.chaxun.la/login/login/?username=" . USERNAME . "&password=" . PASSWORD . "&ajax=1"; //构造登录API的URL 为liaozixu_chaxunla_url
$cxlurl = file_get_contents($liaozixu_chaxunla_url); //提交后返回的字符串 cxlurl
$json1 = json_decode($cxlurl, true); //获取返回的字符串然后把它转换为 PHP 变量 为 json1
$cxlcookie = $json1['cookie']; //获取字符串里面的cookie 为 cxlcookie
$liaozixu_hqwhois_url = "http://api.chaxun.la/toolsAPI/getwhois/?k=" . $_GET['domain'] . "&keywordsid=" . $cxlcookie . ""; //构造获取WHOIS的URL 为 liaozixu_hqwhois_url
//其中$_GET['domain']为获取客户输入的数据
$whoisurl = file_get_contents($liaozixu_hqwhois_url); //提交后返回的字符串 whoisurl
$json2 = json_decode($whoisurl, true); //获取返回的字符串然后把它转换为 PHP 变量
echo $json2['data']['Details']; //输出json data的Details数据
?>
把代码拷下来 再加样式,就能拿去装逼了噢~