2010-02-04 41 views
6

Twitter的API返回的Twitter帐户“图片网址”这个值: http://a1.twimg.com/profile_images/75075164/twitter_bird_profile_bigger.pngHotlinking Twitter的头像图片?

在我的Twitter客户端的web应用,我正在考虑盗链化身的HTTPS版本,这是在Amazon S3上托管:https://s3.amazonaws.com/twitter_production/profile_images/75075164/twitter_bird_profile_bigger.png

任何最好的做法会阻止我这样做?第三方Twitter客户端应用程序通常托管自己的虚拟形象副本吗?

编辑:为了澄清,我需要使用HTTPS的图像,因为我的web应用程序将使用HTTPS连接,我不希望我的用户从他们对网页浏览器中得到安全警告包含一些内容,这是不认证。例如,Firefox已知抱怨混合的http/https内容。

我的问题是找出是否禁止Twitter链接https链接,因为这些URL并非来自其API的“公开”。当我通过HTTPS连接到我的Twitter帐户时,我通过分析他们的Web客户端HTML源代码获得了它们。

回答

5

您是否想要将图像URL存储在您的应用程序中,或者根据需要为用户检索它?

如果它的后一个选项,那么我没有看到热连接图像的问题。如果您要将图片网址的位置存储在您自己的系统中,那么当图片发生变化时(我确定它们将在未来的某个时间点更改网址),我会看到您的链接已断开。

编辑

好了,现在我看到你的两难境地。我浏览过API文档,看起来没有太多能够获取以HTTPS提供的图像或获取Amazon S3图像的URL。你可以在你自己的服务器上编写一个处理程序,它本质上会缓存&将HTTP图像重新提供为HTTPS,但这在服务器上有一些不必要的负载。总之,我还没有遇到更好的解决方案。 GL

+0

查看我对HTTPS的编辑。我计划根据需要检索它,并使用HTTPS AmazonS3 URL动态替换它们。 – Franck 2010-02-04 11:12:00

1

为什么要将图像复制到自己的网站空间?这会增加您的带宽成本,并导致缓存一致性问题。

使用API​​为您提供的URL。

我可以看到您可能想要缓存API返回的URL一段时间以减少API调用的数量。

如果您正在编写类似iPhone应用程序的东西,在本地缓存图片(在电话上)是合理的,以避免完全的网络流量,但用另一个URL替换一个网址应该没有什么区别(假设Twitter图像服务器工作可靠)。

为什么你想要HTTPS?

+0

查看我对HTTPS的编辑。我希望我可以直接使用API​​提供给我的URL,但我不能这样做,因为它是HTTP。我认为你是对的,缓存不是一个好主意。 – Franck 2010-02-04 11:01:40