Hotlinking изображения аватара Twitter? - PullRequest
6 голосов
/ 04 февраля 2010

API Twitter возвращает это значение для учетной записи Twitter 'image_url': http://a1.twimg.com/profile_images/75075164/twitter_bird_profile_bigger.png

В моем веб-приложении клиента Twitter я рассматриваю возможность создания хотлинкинга версии аватаров HTTPS, размещенной на Amazon S3: https://s3.amazonaws.com/twitter_production/profile_images/75075164/twitter_bird_profile_bigger.png

Какие-нибудь лучшие практики, которые бы отговаривали меня от этого? В сторонних клиентских приложениях Twitter обычно размещаются собственные копии аватаров?

РЕДАКТИРОВАТЬ : чтобы уточнить, мне нужно использовать HTTPS для изображений, потому что мое веб-приложение будет использовать HTTPS-соединение, и я не хочу, чтобы мои пользователи получали предупреждения безопасности от своего браузера о странице, содержащей некоторое содержимое который не аутентифицирован. Например, известно, что Firefox жалуется на смешанный контент http / https.

Моя проблема заключается в том, чтобы выяснить, запрещена ли Twitter горячие ссылки на https-адреса, поскольку эти URL-адреса не являются «общедоступными» из их API. Я получил их, проанализировав исходный код их веб-клиента при подключении к моей учетной записи Twitter по протоколу HTTPS.

Ответы [ 3 ]

5 голосов
/ 04 февраля 2010

Вы думаете о сохранении URL-адреса изображения в вашем приложении или получении его для пользователя, как это требуется?

Если это последний вариант, то я не вижу проблемы с горячей связью изображений. Если вы сохраняете расположение URL-адреса изображения в своей собственной системе, тогда я вижу, что у вас есть неработающие ссылки при каждом изменении изображений (я уверен, что они изменят URL-адреса в какой-то момент в будущем).

Редактировать

Хорошо, теперь я вижу вашу дилемму. Я просмотрел документацию по API, и кажется, что с точки зрения возможности получать изображения в HTTPS или получения URL-адреса изображения Amazon S3 не так уж и много. Вы могли бы написать обработчик на своем собственном сервере, который, по сути, кешировал бы и повторно предоставлял HTTP-образ как HTTPS, однако это немного излишняя нагрузка на ваши серверы. Кроме того, я не нашел лучшего решения. GL

2 голосов
/ 13 октября 2012

все кажется обновленным.

Пожалуйста, проверьте: https://dev.twitter.com/docs/user-profile-images-and-banners

Шаблон пути с поддержкой SSL для изображения профиля указан в profile_image_url_https.В приведенной выше таблице показано, как применять те же методы выбора вариантов к изображениям на основе SSL.

1 голос
/ 04 февраля 2010

Почему вы хотите скопировать изображение в ваше собственное веб-пространство? Это увеличит ваши затраты на пропускную способность, и вы получите проблемы с согласованностью кэша.

Используйте URL, который дает вам API.

Я вижу, что вы можете кэшировать URL-адрес, который API возвращает в течение некоторого времени, чтобы уменьшить количество вызовов API.

Если вы пишете что-то вроде приложения для iPhone, имеет смысл кэшировать изображение локально (на телефоне), чтобы вообще избежать веб-трафика, но замена одного URL другим URL не должна иметь значения (при условии сервер изображений Twitter работает надежно).

Зачем вам HTTPS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...