TinyURL API
Ковыряясь в некотором коде, увидел вот такую вот функцию:
1 2 3 4 5 |
function getTinyUrl($url) { return file_get_contents("http://tinyurl.com/api-create.php?url=".$url); } |
У тех кто не знает что за сервис 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, но как видим есть. Функция неплохая, но я бы переписал её так:
1 2 3 4 5 |
function getTinyUrl($url) { return file_get_contents("http://tinyurl.com/api-create.php?url=".urlencode(trim($url))); } |
так будет правильнее. Соответственно, теперь мы можем использовать её в своих целях. А какие могут быть цели? Например, сокрытие ссылок в неотмодерированных комментариях.
И еще один небольшой нюанс, как же это работает? Я думаю, что ссылка заносится в базу, а её номер возвращается в виде, системы счисления, с основанием равным кол-ву букв в алфавите. Этакий аналог 16-ричной системы, но с колвом букв не A-F
, а a-zA-Z
отсюда и такие короткие урлы 🙂
А вот, как и обещал, список подобных сервисов и ссылки на их API:
- http://tinyurl.com ( API )
- http://clck.ru ( API )
- http://bit.ly ( API )
Author: | Tags: /
| Rating:
Leave a Reply