缘由
当我们在很多博客或者网站留言,评论的时候会看到有的人头像很酷很个性化,但是这个博客和网站本身并没有提供设置头像的功能,感觉有点神奇,那么是怎么做到的呢?其实这是使用了Gravatar。
Gravatar,全称Globally Recognized Avatar。翻译成中文为全球通用头像。
Gravatar的概念首先是在国外的独立WordPress博客中兴起的,当你到任何一个支持Gravatar的网站留言时,这个网站都会根据你所提供的Email地址为你显示出匹配的头像。当然,这个头像,是需要你事先到Gravatar的网站注册并上传的,否则,在这个网站上,就只会显示成一个默认的头像。
当你访问支持gravatar头像的网站时,只要输入你注册的邮箱账号,即会自动调用gravatar的api,转换成保存的头像。这样就可以为广大程序提供个人头像存储服务。
使用
使用该服务时需要去官网中注册一个账号,并上传头像。
注意头像上传后会审核,然后管理员会按图片包含的内容划分一个等级(G 普通级、PG 辅导级、R 和 X 为限制级)。
通过之后这个头像就可以使用了。在任何支持Gravatar的地方,在评论填写email地址时,请填写你申请注册头像用的这个email地址。你的头像就会出现在留言中。就这样可以展示给大家看了
调用
由于gravatar目前服务极不稳定,调用时推荐用国内的源。
换源方法:一般在模板文件的functions.php文件中,搜索gravatar,把搜索到的域名直接替换掉即可,handsome主题可在主题设置中修改。
本站使用的是Loli的镜像源https://gravatar.loli.net/avatar/
镜像源
zeruns's Blog的镜像源:https://gravatar.zeruns.tech/avatar/
gravatar官方的www源 https://www.gravatar.com/avatar/
gravatar官方的cn源 https://cn.gravatar.com/avatar/
gravatar官方的en源 https://en.gravatar.com/avatar/
gravatar官方的secure源 https://secure.gravatar.com/avatar/
V2EX源 https://cdn.v2ex.com/gravatar/
Loli源 https://gravatar.loli.net/avatar/
极客族 https://sdn.geekzu.org/avatar/
七牛官方 https://dn-qiniu-avatar.qbox.me/avatar/
(听说很快)
不过当然,有兴趣的同学可以自建镜像。
可以利用Nginx反代https://www.gravatar.com/
这个域名
然后就可以用你自己的域名访问啦。
测速器
Speed_Test.rar
另外附上一键测速的Python源代码
from timeit import timeit
import requests
import os
def tester(base_url: str):
url1 = base_url + 'fd8b773755459a02294bffc322796b5d?size=300&default=https%3A%2F%2Fraw.githubusercontent.com%2Fuestc-msc%2Fuestcmsc_webapp_backend%2Flyh543%2Fstatic%2Fruanweiwei.jpg'
url2 = base_url + "4ae0de9465f89b3a5b1e675cae9a3863?size=300&default=https%3A%2F%2Fraw.githubusercontent.com%2Fuestc-msc%2Fuestcmsc_webapp_backend%2Flyh543%2Fstatic%2Fruanweiwei.jpg"
try:
print('%.6f' % timeit(lambda: requests.get(url1), number=5), end=' ')
except:
print('error ', end=' ')
try:
print('%.6f' % timeit(lambda: requests.get(url2), number=5))
except:
print('error ')
if __name__ == '__main__':
mirrors = [
"https://gravatar.zeruns.tech/avatar/",
"https://www.gravatar.com/avatar/",
"https://cn.gravatar.com/avatar/",
"https://en.gravatar.com/avatar/",
"https://secure.gravatar.com/avatar/",
"https://cdn.v2ex.com/gravatar/",
"https://gravatar.loli.net/avatar/",
"https://sdn.geekzu.org/avatar/"
]
for mirror in mirrors:
print(f'%-40s' % mirror, end=' ')
tester(mirror)