获取网站的Favicon图标的API接口

image-20210820133021076

每个网站都应该会有一个favicon图片,就是显示在浏览器标题栏上面的小图标,当打开网页或将网页加入收藏时都会显示这个图标。举个例子:img

目前获取网站的Favicon图标并显示在你的网页上这个小功能还是很火的。友情链接,导航站点用的很多。

最近在搭建个人导航站点就需要这个小功能,原本用的是谷歌提供的接口,但兼容性不是很好呢,甚至get百度返回的都是默认图标,而且都是(16x16)低像素的,非常的不好用。

1
http://www.google.cn/s2/favicons?domain=https://www.baidu.com/

image-20210808225552577

网上也有很多别人搭建的接口,缺点就是不稳定,人家要是跑路了,就GG。

项目开源,刚好也有自己的服务器,不如自己动手丰衣足食。

项目地址

打开宝塔面板->添加站点

img

下载程序到网站目录

下载地址:https://github.com/owen0o0/getFavicon/archive/master.zip

img

解压缩

image-20210808231044452

域名添加解析

img

就是这么简单,之后,我们测试效果,打开网站形式如:

1
http://api.qyxie.top/getFavicon/get.php?url=https://www.baidu.com

image-20210808231342711

有问题的话试试:cache 文件夹给 755 权限。

直接使用API虽然可以获取 favicon图标,但是这个是动态地址,不方便CDN缓存,建议将其伪静态,具体规则如下:

1
2
3
4
5
6
7
8
# Nginx规则
rewrite ^/getFavicon/(.*)\.png$ /getFavicon/get.php?url=$1;

# Apache规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^getFavicon/(.*)\.png$ getFavicon/get.php?url=$1 [L]
</IfModule>

如果你跟我一样使用的是Nginx和宝塔面板,站点->设置->伪静态,添加Nginx规则并保存即可。

image-20210808232158331

完成了伪静态规则设置之后,获取网站Favicon图标API接口就变为:

1
http://api.qyxie.top/getFavicon/www.baidu.com.png

image-20210808233533337

tips: .png结尾,前面不用加http(s)!!!

富婆 饿饿 饭饭
0%