PHP抓取備案接口的經(jīng)驗分享
檢驗一個域名是否有備案
最近,拿到一個需求。需要檢驗一個域名是否有備案。最簡單的方式就是通過工信部網(wǎng)站上去查拿著域名去查詢就可以了。經(jīng)過我多次實驗. 發(fā)現(xiàn)工信部網(wǎng)站除了驗證碼以外,還有對IP有封禁處理。經(jīng)過成本對比,發(fā)現(xiàn)并不適用。于是在互聯(lián)網(wǎng)上找對應的工具。還別說,還真就找到了一個。www.lbtool.cn。下面就記錄一下我的抓取過程。
分析網(wǎng)站
首先先隨意注冊了個用戶,然后使用了一下備案查詢的信息。截圖如下

這一看應該就是一個前后端分離的站點。通過Bearer攜帶用戶信息進行傳遞??吹竭@么一個簡單的驗證,瞬間就興奮了。于是開始模擬請求
開始模擬
由于我們這邊是使用PHP進行開發(fā). 我這里直接使用了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":"北京百度網(wǎng)訊科技有限公司","unit_type":"企業(yè)","home_url":"","pass_date":"2023-08-15"}
ok. 預期達到.
缺點
在嘗試過程中,發(fā)現(xiàn)。如果不攜帶user-agent和content-type. 不會返回任何信息.
最后
附上注冊地址http://www.lbtool.cn/login. 上面代碼可以直接另存為就可以了. 經(jīng)測試目前發(fā)現(xiàn)網(wǎng)站不封任何的IP. 暫無封禁策略. 也可以用于其他該網(wǎng)站其他查詢信息.
以上就是PHP抓取備案接口的經(jīng)驗分享的詳細內容,更多關于PHP抓取備案接口的資料請關注腳本之家其它相關文章!
相關文章
php json_encode與json_decode詳解及實例
這篇文章主要介紹了php json_encode與json_decode詳解及實例的相關資料,需要的朋友可以參考下2016-12-12
PHP內核學習教程之php opcode內核實現(xiàn)
opcode是計算機指令中的一部分,用于指定要執(zhí)行的操作, 指令的格式和規(guī)范由處理器的指令規(guī)范指定,通過本文給大家介紹PHP內核學習教程之php opcode內核實現(xiàn),感興趣的朋友一起學習吧2016-01-01

