网站ico获取的API使用文档

全面指南与常见问题解答,帮助您充分利用我们的图标获取服务

文档概述

本页面提供任意网站的Favicon API的详细使用说明、技术指南和常见问题解答。无论您是开发者还是普通用户,都能在这里找到所需的信息。

API 详细文档

基础调用

最基本的调用方式是通过URL参数指定要获取图标的域名:

https://ico.la4.cn/ico.php?url=域名

注意: 域名可以包含或不包含 http://https:// 前缀。

高级参数

API支持以下可选参数:

参数 说明 示例
size 指定返回图标的尺寸(16, 32, 64等)(暂停) ?url=baidu.com&size=32
refresh 强制刷新缓存(1=刷新)(可用) ?url=baidu.com&refresh=1
format 指定返回格式(ico/png/jpg)(暂停) ?url=baidu.com&format=png

响应代码

API可能返回以下HTTP状态码:

  • 200 OK - 成功获取图标
  • 400 Bad Request - 缺少必要参数或参数格式错误
  • 404 Not Found - 无法找到指定网站的favicon
  • 500 Internal Server Error - 服务器内部错误

集成指南

HTML集成

最简单的集成方式是在HTML中使用img标签:

<a href="https://baidu.com">
    <img src="https://ico.la4.cn/ico.php?url=baidu.com" alt="百度图标"> 百度
</a>

JavaScript集成

动态加载favicon的JavaScript示例:

function loadFavicon(domain, elementId) {
    const img = document.getElementById(elementId);
    img.src = `https://ico.la4.cn/ico.php?url=${encodeURIComponent(domain)}`;
    img.onerror = function() {
        this.src = 'default-icon.png'; // 加载失败时显示默认图标
    };
}

PHP集成

服务器端PHP获取favicon的示例:

<?php
function getFavicon($url) {
    $apiUrl = "https://ico.la4.cn/ico.php?url=" . urlencode($url);
    $favicon = file_get_contents($apiUrl);
    if ($favicon) {
        file_put_contents('local-cache/' . md5($url) . '.ico', $favicon);
    }
    return $favicon;
}
?>

常见问题解答

基本使用

如何获取一个网站的favicon?

最简单的方法是使用我们的API接口:

https://ico.la4.cn/ico.php?url=域名

例如,要获取百度的favicon:

https://ico.la4.cn/ico.php?url=baidu.com

您可以直接在浏览器中打开这个URL,或者将其作为img标签的src属性使用。

是否需要包含http://或https://前缀?

不需要。我们的API会自动处理域名格式,以下调用方式都是有效的:

  • https://ico.la4.cn/ico.php?url=baidu.com
  • https://ico.la4.cn/ico.php?url=http://baidu.com
  • https://ico.la4.cn/ico.php?url=https://baidu.com

最佳实践: 建议省略协议前缀,直接使用域名,这样API可以更高效地处理请求。

高级功能

如何获取特定尺寸的favicon?

使用size参数可以指定返回图标的尺寸:

https://ico.la4.cn/ico.php?url=baidu.com&size=32

支持的尺寸包括:16, 24, 32, 48, 64, 128等。

注意: 如果原始图标不包含指定尺寸,API会自动缩放至最接近的可用尺寸。

如何强制刷新缓存获取最新图标?

使用refresh=1参数可以强制API重新获取图标,忽略缓存:

https://ico.la4.cn/ico.php?url=baidu.com&refresh=1

我们的API通常会缓存图标7天以提高性能。如果您发现某个网站的图标已更新但API仍返回旧图标,可以使用此参数。

可以获取PNG或JPG格式的图标吗?

是的,使用format参数可以指定返回格式:

  • format=ico - ICO格式(默认)
  • format=png - PNG格式
  • format=jpg - JPG格式

示例:

https://ico.la4.cn/ico.php?url=baidu.com&format=png

注意: 并非所有网站都提供PNG或JPG格式的图标。如果指定格式不可用,API会返回默认的ICO格式。

问题排查

为什么有些网站的图标无法获取?

可能有以下几种原因:

  1. 网站没有favicon.ico文件,也没有在HTML中指定其他格式的图标
  2. 网站使用了非常规路径存储favicon,而我们的API无法自动发现
  3. 网站阻止了外部请求获取favicon
  4. 网站需要登录才能访问

解决方案:

  • 尝试使用refresh=1参数强制重新获取
  • 检查网站是否有公开可访问的favicon
  • 如果确实需要该图标,可以手动下载并上传到您自己的服务器
获取的图标显示为默认图标或空白,怎么办?

这通常表示API无法找到指定网站的favicon。您可以尝试以下步骤:

  1. 直接在浏览器中访问http://目标网站/favicon.ico,确认图标是否存在
  2. 检查网站的HTML源代码,查找<link rel="icon">标签,确认图标路径
  3. 如果网站使用非标准路径的图标,可以尝试直接请求该路径

如果问题仍然存在,可能是网站有意阻止favicon的外部访问。

API返回错误或超时怎么办?

如果API返回错误或超时,请尝试以下步骤:

  1. 检查您的网络连接是否正常
  2. 确认API地址是否正确
  3. 简化请求参数,只保留必要的url参数
  4. 稍后再试,可能是临时服务器问题

如果问题持续存在,请联系我们的技术支持团队。

性能与限制

API有调用频率限制吗?

是的,为了保护服务器资源,我们对API调用有以下限制:

  • 所有用户:无日限制,如果日请求量超出10万以上,建议跟我打个招呼,避免当初恶意请求而误伤。

如果您的应用需要更高的调用频率,请联系我们讨论商业合作方案。

图标的缓存时间是多久?

我们的API会缓存图标以提高性能:

  • 成功获取的图标:缓存7天
  • 未找到的图标(404):缓存1天
  • 错误响应:不缓存

您可以使用refresh=1参数强制忽略缓存获取最新图标。

获取帮助

如果您的问题未在此文档中找到答案,可以通过以下方式联系我们:

我们的技术支持团队会在24小时内回复您的问题。