因本接口压力过大,接口停止对外服务!源码请去我github获取
很多人可能并不知道这个接口有啥作用,其实谷歌也有这个接口,不过最近使用不管用了,所以才自己写了一个,大家可以看这个例子 这里是列出了我的网站中所有的友情链接,和本站的网站接口链接的兄弟连功能,每个链接前面的图片,就是对应网站域名的favicon.ico图片,可以看一下这个图片是如何读取的,我们查看源代码:
1 |
<img src="http://www.521php.com/api/fav/?url=www.zhaochun.net" style="float:left;padding:7px;" width="20" height="20"> |
v3版本升级信息 因为此接口的使用者过多,使用过于频繁。为了分担压力,遂升级接口为异步逐条处理,并引入缓存机制,升级操作只需要在v2接口的基础上在你需要使用此接口的页面底部添加一个js,放到body以内,jquery以下即可。
1 |
<script src="http://www.521php.com/api/fav/key.js"><script> |
此js其实是一个服务端脚本,此脚本会周期性(一般为一天一次)修改密钥,并将密钥拼入到 v2使用的接口地址中,接口服务端会对此密钥校验。所以,如果还希望继续使用,请添加此js到页面底部,此脚本依赖jquery,请确认页面已经加载了jquery,将此js放到jquery下方即可。 给您带来的不便敬请谅解。随时欢迎交流。谢谢。 v2版本升级信息 近期通过监控,发现此接口使用频率极高,日志文件一周也已200多M,目前有近100个域名使用接口查询域名300多个,于是对本接口升级,同时,代码为早期开发,漏洞较多,对代码进行了优化,同时代码非常简单,鼓励大家可以自己实现。 1、引入缓存机制,以周为单位,缓存域名的ico图片,缓存每周日更新并支持手动更新缓存,如有需要请使用http://www.521php.com/api/fav/的form表单删除缓存 缓存地址为:http://www.521php.com/api/fav/images/ 2、使用方式优化,可以使用取消是否添加http的限制,即www.521php.com和http://www.521php.com都可以使用 3、接口代码有修改,新代码:https://github.com/zhangcunchao/www521phpcom/blob/master/html/api/fav/index.php以下为v1版本:
我们通过这个代码读取了后面这个域名的favicon.ico图片,如果我们之间访问src后面的整个链接,也是可以看到这个网站的favicon.ico图片,这样就达到了我们的目的,读取指定网站的favicon.ico图片。 实例展示: http://www.521php.com/api/fav/?url=www.zhaochun.net 接口url http://www.521php.com/api/fav/ 说明: 他需要一个参数url,即你要读取网站的网址 原理: 原理其实很简单,我们通过file_get_contnets函数,读取指定的域名下的favicon.ico这个图片,如果能够读取到,就声明header为图片类型进行输出,这里大家可以查一下header声明的用法,这就是为什么图片能显示为图片,下载能够下载的原理。而如果读取不到,我们给他个默认图片即可!这里要注意的就是,有的网站的这个图片并不一定在根目录,少部分是用了一个类似这样的标签<link rel=”shortcut icon” href=”favicon.ico” />来获取这个图片的,所以我们就要加以判断,如果根目录下没有这个图片的,要在其页面中判断是否有这个标签,有就获取这个标签里的图片。
写的很简单其实,大家其实都可以做一个自己的接口而如何使用: <img src=”http://www.521php.com/api/fav/?url=指定的域名即可” width=”20″ height=”20″ /> 本文链接:http://www.521php.com/archives/1210/
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/1210/
2013年10月07日 上午 11:00 brucmao | 引用 | #1
终于找到一个可用的了,以前都用google的接口,能不能做成书签的形式,点击它就能获得当前网页的ico图标