如何在不被追踪的情况下从Twitter加载个人资料图片?

4

例子:

<img src="https://twitter.com/mozilla/profile_image">

现场演示:https://jsbin.com/ziwanu/edit?html,output

相应的HTTP请求发送cookie到Twitter,这就是为什么Firefox的新跟踪保护功能会阻止它显示图片。有没有一种方法可以以与Firefox的跟踪保护兼容的方式获取来自Twitter的个人资料图片?


更新: 图像代理可以作为动态回退(通过onerror属性)使用。演示:https://jsbin.com/xibose/edit?html,js,output


我以为 crossorigin="anonymous" 会有所帮助,但是 Firefox 显然没有遵循 location 重定向。 - Fabrício Matté
使用像Avatars IO这样的服务是否有效?例如http://avatars.io/twitter/mozilla - 它确实会重定向到http://pbs.twimg.com。 - Terence Eden
2个回答

2
我认为你可以将几个东西链接在一起来完成这个任务...
使用Avatars.io,你可以请求用户的图片而不必询问Twitter。

http://avatars.io/twitter/mozilla

或者,查看更大的图片。

http://avatars.io/twitter/mozilla?size=large

这将重定向到:

http://pbs.twimg.com/profile_images/576067580219146242/ON0VuHtK_bigger.png

我不知道你的 cookies 是否会被发送到那里。如果会,你可以使用像https://images.weserv.nl/这样的图片代理(还有其他代理可用!)。
因此 - https://images.weserv.nl/?url=avatars.io%2Ftwitter%2Fmozilla%3Fsize%3Dlarge 这将通过代理加载图像 - 我想不会向 Twitter 发送任何内容。

我已经制作了一个包含所有不同图片请求方法的演示(用于调试)。Tracking Protection会阻止除了图片代理URL之外的所有请求。我查看了请求头,但无法确定导致Tracking Protection表现出其行为的头信息。 - Šime Vidas

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接