Пишем приложение для работы с сервисами коротких ссылок
1. Сервисы коротких ссылок - для чего они нужны?
Сервисы коротких ссылок предназначены для облегчения работы с форумами, блогами, новостными сайтами - где ограничено количество текста. Также сервис коротких ссылок идеален в случаях, когда вам необходимо скрыть ссылки спонсоров, замаскировать ссылку и т.д.
Твиттер и другие сервисы микроблогинга ограничивают длину сообщения 160-ю символами (стандартное сообщение SMS). В Твиттере вообще долина сообщения составляет 140 символов вместе с пробелами. Так что в твиттере сервисы коротких ссылок являются незаменимыми помошниками.
Иногда намного удобней передавать в чате, или по почте вместо http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82 вот такую ссылочку - http://cut.ms/Jie.
Сервисов коротких ссылок много и их становится постоянно больше.
Вот тут можно посмотреть описание более популярных сервисов для сокращения ссылок.
2. Как работают короткие ссылки?
Ничего оригинального и сложного в реализации сервиса коротких ссылок нет. Kos как-то рассказывал, что есть анекдот, в котором говорится, что код сервиса коротких ссылок состоит из 4-х строчек кода, три из которых для внешнего интерфейса сайта.
Главное что б было хорошее оборудование, которое выдерживает большую нагрузку со стороны пользователей.
1) На сервер передается полная ссылка.
2) Происходит сокращение ссылки (хеширование).
3) Полученная короткая ссылка и полная ссылка записываются в базу данных.
4) При переходе через короткую ссылку, идет обращение к серверу БД сервиса короткой ссылки, который возвращает оригинальный путь и происходит перенаправление (redirect) на оригинальный источник.
3. Пишем приложение для автоматического сокращения ссылок.
Как говорится: "Хороший сервис должен быть незаметным!". Если вы в мессенджере часто передаете много ссылок, особенно содержащие юникод, и хотите при этом пользоваться сервисами сокращения ссылок, то можно подзадолбаться каждый раз вручную заходить на сайт, вставлять туда ссылку, конвертировать её и копировать обратно. Например, очень неудобно это делать в cut.ms, надо вводить два слова для верификации.
Мне захотелось, что бы ссылка, которую я копирую в буфер обмена вставлялась в окно мессенджера такой, как надо.
Что б осуществить эту мечту в реальность я сделал следующее:
1) нашел код на C#, который перехватывает системное событие копирования в буфер обмена.
2) нашел API, который позволяет работать с одним из самых популярных сервисов bit.ly.(Bit.ly API in C#)
3) прикрутил буфер обмена к bit.ly через найденный API.
Исходники, которые получились можно взять из attachments. У кого есть желание, то можете их доработать, они сырые, но работоспособные [:)].