Main > Abyss | PHP > TinyURL API

TinyURL API

12.02.2012 0 comments » Views: 8,046

TinyURL

Ковыряясь в некотором коде, увидел вот такую вот функцию:

У тех кто не знает что за сервис tinyurl, это бы не вызвало интереса, но я, к радости знаю что это. А это сервис по укорачиванию ссылок.

Довольно часто, надо отправить какую-нибудь длинную ссылку, но передавать её не очень удобно, из-за её размера: как минимум, это некрасиво выглядит, как максимум, многие парсеры, её просто испортят. В таких случаях приходят сервисы, которые записывают Вашу ссылочку, к себе в БД, а Вам дают короткий url, перейдя по которому, пользователь отправится на ссылку источник.

Выглядит это так, например, у нас есть длинный url:

http://www.google.com.ua/search?q=%D0%9A%D0%B0%D0%BA+%D1%8F+%D0%BC%D0%BE%D0%B3%D1%83+%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C+%D0%BE%D1%87%D0%B5%D0%BD%D1%8C+%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9+url&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox

Правда ведь громоздко? Идем на сервис tinyurl.com или его аналоги (приведу вконце статьи), вставляем нашу ссылочку и получаем короткий url:

http://tinyurl.com/6gb72j9

Так же значительно лучше? ))

Давайте вернемся к коду, который я отрыл. Я не знал, что у этого сервиса есть API, но как видим есть. Функция неплохая, но я бы переписал её так:

так будет правильнее. Соответственно, теперь мы можем использовать её в своих целях. А какие могут быть цели? Например, сокрытие ссылок в неотмодерированных комментариях.

И еще один небольшой нюанс, как же это работает? Я думаю, что ссылка заносится в базу, а её номер возвращается в виде, системы счисления, с основанием равным кол-ву букв в алфавите. Этакий аналог 16-ричной системы, но с колвом букв не A-F, а a-zA-Z отсюда и такие короткие урлы 🙂

А вот, как и обещал, список подобных сервисов и ссылки на их API:

Author: | Rating: 4/5 | Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>