PHP的ICP备案信息查询接口,从网站内容中抓取

<?php
function get_icp_info($url) {
// 使用 cURL 获取目标网站的 HTML 内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);

// 解析 HTML 内容,查找 ICP 备案信息
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($output);
libxml_use_internal_errors(false);
$elements = $dom->getElementsByTagName('link');
foreach ($elements as $element) {
if ($element->hasAttribute('rel') && strtolower($element->getAttribute('rel')) == 'icp') {
return $element->getAttribute('href');
}
}

return null;
}

// 输入要查询的网址
$url = trim(isset($_GET['url']) ? $_GET['url'] : '');

// 检查输入的网址是否合法
if (empty($url) || !filter_var($url, FILtrate::IS_URL)) {
echo "Invalid URL";
exit;
}

// 查询 ICP 备案信息
$icp_info = get_icp_info($url);

if ($icp_info) {
echo "The ICP record of $url is $icp_info.";
} else {
echo "Could not find the ICP record of $url.";
}
?>

这个接口接受一个 URL 参数,然后使用 cURL 获取目标网站的 HTML 内容,接着解析 HTML,查找其中的 ICP 备案信息。如果找到了 ICP 备案信息,则返回相应的信息,否则返回无法找到 ICP 备案信息的消息。请注意,这个代码仅作为示例,实际使用时需要根据具体情况进行修改和优化。

来源:http://www.duozitu.com

posted @ 2023-08-02 10:18  imcrony  阅读(138)  评论(0编辑  收藏  举报