获取QQ头像
最近有一个需求,某个需求的某个功能是获取QQ号码的头像,虽然QQ内部有方法能够获取到这个头像的URL,但是多一次请求总是会对性能有影响,所以最后搜索到了一种方法,只要只到对方的QQ号码,就可以拿到Ta的头像。
其实很简单,比如某人的QQ号是123456,那么Ta的头像地址就是
https://q.qlogo.cn/g?b=qq&nk=123456&s=100 https://q.qlogo.cn/g?b=qq&nk=123456&s=160 https://q.qlogo.cn/g?b=qq&nk=123456&s=640
把其中123456替换为你的QQ号,然后在浏览器中打开,是不是就是你的头像啦!细心的同学能够看出这个URL还带一个s的参数,其实就是size的意思,目前测试100,160,640都可以。
聪明的你肯定能够发现,这样URL地址就会暴露qq号码了,那么有没有办法能够在不暴露QQ号码的情况下展示QQ头像呢?当然是可以的,只是多了一个步骤而已。
http://ptlogin2.qq.com/getface?&imgtype=1&uin=123456
这个接口返回了一个json,里面是一个url,其实他也是一个头像地址,只是这个地址的参数中k的值为一串字符串xyOnRe5ML3Aw96iaaQ1hh6w
,并非之前的QQ号,但是如果把这个字符串带入到之前的参数nk中,然后把nk改为k,我们就得到了下面的URL,虽然效果一样,但是这一次就没有QQ号码在里面了,是不是很神奇?
https://q.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=100 https://q.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=160 https://q.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640
同时,为了提高性能,在返回时我们可以请求不同的域名以达到加速展示的效果
https://q.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640 https://q1.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640 https://q2.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640 https://q3.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640 https://q4.qlogo.cn/g?b=qq&k=xyOnRe5ML3Aw96iaaQ1hh6w&s=640
完
做国外业务需要外网
可以加你qq吗,需要外网