17574050-a0aa-453d-b888-16ecc805aed7.png
最近有一个需求,某个需求的某个功能是获取QQ号码的头像,虽然QQ内部有方法能够获取到这个头像的URL,但是多一次请求总是会对性能有影响,所以最后搜索到了一种方法,只要拿到对方的QQ号码,就可以拿到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

其实很简单,比如某人的QQ号是123456,那么Ta的头像地址就是

把其中123456替换为你的QQ号,然后在浏览器中打开,是不是就是你的头像啦!细心的同学能够看出这个URL还带一个s的参数,其实就是size的意思,目前测试100,160,640都可以。

http://ptlogin2.qq.com/getface?&imgtype=1&uin=123456
把上面接口地址中123456换成自己的QQ号,然后浏览器访问会返回了一个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