当前位置: 代码网 > it编程>编程语言>Php > PHP抓取备案接口的经验分享

PHP抓取备案接口的经验分享

2024年05月15日 Php 我要评论
检验一个域名是否有备案最近,拿到一个需求。需要检验一个域名是否有备案。最简单的方式就是通过工信部网站上去查拿着域名去查询就可以了。经过我多次实验. 发现工信部网站除了验证码以外,还有对ip有封禁处理。

检验一个域名是否有备案

最近,拿到一个需求。需要检验一个域名是否有备案。最简单的方式就是通过工信部网站上去查拿着域名去查询就可以了。经过我多次实验. 发现工信部网站除了验证码以外,还有对ip有封禁处理。经过成本对比,发现并不适用。于是在互联网上找对应的工具。还别说,还真就找到了一个。www.lbtool.cn。下面就记录一下我的抓取过程。

分析网站

首先先随意注册了个用户,然后使用了一下备案查询的信息。截图如下

这一看应该就是一个前后端分离的站点。通过bearer携带用户信息进行传递。看到这么一个简单的验证,瞬间就兴奋了。于是开始模拟请求

开始模拟

由于我们这边是使用php进行开发. 我这里直接使用了php. 模拟代码如下.

<?php
function postjson($url, $post_data = [], $headers = []) {
    $post_string = json_encode($post_data);
    $ch = curl_init();
    curl_setopt($ch, curlopt_url, $url);
    curl_setopt($ch, curlopt_ssl_verifypeer, false);
    curl_setopt($ch, curlopt_ssl_verifyhost, false);
    // 增加ua.
    curl_setopt($ch, curlopt_useragent, 'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/118.0.0.0 safari/537.36');
    curl_setopt($ch, curlopt_httpheader, $headers);
    curl_setopt($ch, curlopt_post, true);
    curl_setopt($ch, curlopt_postfields, $post_string);
    curl_setopt($ch, curlopt_connecttimeout, 3);
    curl_setopt($ch, curlopt_timeout, 3);
    curl_setopt($ch, curlopt_returntransfer, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
$domain = count($argv) > 1 ? $argv[1] : 0;
# 您的账户密钥. 需要通过注册过后去获取一下.
$token = '';
if(!$domain) {
    exit('请输入域名');
}
$resp = postjson('http://www.lbtool.cn/api/home/domain/record', [
    'domain' => $domain,
], [
    'authorization: bearer ' . $token,
    'content-type: application/json'
]);
$resp = json_decode($resp, true);
if($resp['code'] != 200) {
    exit($resp['msg']);
}
exit(json_encode($resp['data'], json_unescaped_unicode));

,直接保存为run.php. 就开始进行测试。

测试

直接使用如下命令

php run.php baidu.com

直接就返回了如下的结果

{"main_num":"京icp证030173号","site_num":"京icp证030173号-1","unit_name":"北京百度网讯科技有限公司","unit_type":"企业","home_url":"","pass_date":"2023-08-15"}

ok. 预期达到.

缺点

在尝试过程中,发现。如果不携带user-agent和content-type. 不会返回任何信息.

最后

附上注册地址http://www.lbtool.cn/login. 上面代码可以直接另存为就可以了. 经测试目前发现网站不封任何的ip. 暂无封禁策略. 也可以用于其他该网站其他查询信息.

以上就是php抓取备案接口的经验分享的详细内容,更多关于php抓取备案接口的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com