Хотите короткие ссылки? Да без проблем!

short url serviceСсылки длинной во всю ширину страницы выглядят просто ужасно. Как бороться с вредителями ваших страничек? Написать свой волшебный скрипт «укротителя» ссылок скажете вы, но нет, я ленивый.. очень ленивый и по этому расскажу вам о другом подходе. Зачем писать то, что уже есть и отлично работает, да ещё и при наличии дополнительных вкусных возможностей?

Ближе к делу. Возьмём немного «прямых рук»  и воспользуемся API лучших «укротителей» ссылок, сегодня в меню: API bit.ly, популярный среди народа TinyURL со своим API ну и конечно не забудем про goo.gl сокращатель длинных ссылок от Google

Первый в списке сервис коротких ссылок bit.ly

Именно этот сервис я использую в этом блоге. Пожалуй, я не буду тянуть кота за хвост и сразу перечислю плюсы:

  • Гибкая статистика
  • Лёгкость в использовании
  • Стабильность
  • Подробная справка

Из за этих качеств я выбрал данный сервис, так как я считаю этот набор качеств просто необходимым для нормального использования «Short URL» сервисов, особо хочу отметить аналитические данные которые он позволяет собирать.

Итак простой, без лишних наворотов пример использования API:

<?php
function ShortURL ($url, $bitlylogin, $bitlyapikey) {
$returnxml = file_get_contents('http://api.bit.ly/shorten?version=2.0.1&longUrl='.$url.'&login='.$bitlylogin.'&apiKey='.$bitlyapikey.'&format=xml');
$result = new SimpleXMLElement($returnxml);
return $result->results->nodeKeyVal->shortUrl;
}
?>

где $url соответственно наша длинная ссылка, $bitlylogin ваш логин в системе, $bitlyapikey API ключ для использования сервиса (его вам необходимо получить по этой ссылке).

Goo.gl укротитель ссылок от поискового монстра

Ну наверно вы и сами понимаете что такая компания как Google просто не может себе позволить сделать не качественный сервис, а поэтому рассмотрим goo.gl поближе:

  • Самый быстрый в своём роде
  • Есть документация
  • Автоматически генерирует QR-коды
  • История и аналитика

Пример  использования API goo.gl:

<?php
define('GOOGLE_API_KEY', 'Ваш ключ от API');
define('GOOGLE_ENDPOINT', 'https://www.googleapis.com/urlshortener/v1');

function shortenUrl ( $longUrl ) {
$ch = curl_init( sprintf ('%s/url?key=%s', GOOGLE_ENDPOINT, GOOGLE_API_KEY ) );
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$requestData = array('longUrl' => $longUrl);
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array('Content-type: application/json' ) );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode ($requestData ) );
$result = curl_exec ( $ch );
curl_close ( $ch );
return json_decode ( $result, true );
}
?>

Как вы наверное заметили в моём коде, Google работает с JSON форматом данных и поэтому придётся конвертировать наши ссылки. Ну и что бы стало совсем понятно как работает эта функция, приведу пример обращения к ней:

<?php
$shoturl = shortenUrl('http://dmitry-samohin.ru');
echo sprintf ( 'Мы укротили ссылку %s, теперь она выглядит так:  %s', $shoturl['longUrl'], $shoturl['id'] );
?>

Старый добрый  TinyURL и примеры использования его API

Сказать честно не понимаю что люди в нём нашли, единственное чем этот старичёк  (был разработан в 2002 году) привлёк всё же моё внимание, является простота в использовании, судите сами:

<?php
function getTinyUrl ( $url ) {
$tinyurl = file_get_contents ( "http://tinyurl.com/api-create.php?url=".$url );
return $tinyurl;
}
?>

Вот и все премудрости  необходимые для его использования, как следствие отсутствие аналитики, истории и прочих вкусностей, доступных у конкурентов.

На этом я, пожалуй закончу свой рассказ и пойду пить кофе, ну а вам желаю удачно разобраться с сервисами укорачивания ссылок. Будут вопросы или пожелания пишите в комментариях =)

Прокомментируй, пожалуйста, мою заметку.