Логотип
Сокращай, переходи, властвуй!
10.11.2014

Лирическое отступление

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

Как Вы, наверное, знаете, у меня есть два сайтика: небольшой файлообменник и сокращатель ссылок. В принципе, при загрузке файла генерируется и так не очень длинная ссылка, но я всё-таки решил "прикрутить" к файлообменнику функцию по её сокращению, так сказать, не отходя от кассы. И казалось бы, чего проще: отправляем запрос на сервер и получаем ответ! Но не тут-то было. Ведь запрещено посылать запросы скриптам на другом домене. Впрочем, сейчас полно способов это обойти, но я решил лишний раз не лезть в готовые скрипты и написал скрипт-посредник, который принимает запрос от клиента, отправляет данные на другой домен и переадресовывает ответ обратно. Но вновь посыпались ошибки. Оказывается, POST-запросы с других доменов на моём хостинге тоже не разрешены! И вновь, чтобы не лезть в готовый код, пришлось написать ещё один скрипт на домене сокращателя ссылок, который получает GET-запрос с адресом и отправляет его соседнему скрипту POST-методом.

Таким образом, из-за политики запретов пришлось написать два лишних скриптовых файла вместо того, чтобы просто отправить запрос. Но зато я могу представить небольшое API. Правда, оно реально очень упрощённое.


Как получить короткую ссылку?

Адрес для запроса: http://kexp.tk/content/shortener_wrapper.php.

Параметры (взаимоисключающие, причём приоритет у url выше!):

Возвращает строки:


Примеры

Запрос: http://kexp.tk/content/shortener_wrapper.php?url=http://kexp.tk/content/shortener_wrapper.php
Ответ: OK ocfe32
Готовая ссылка: http://kexp.tk?ocfe32

Запрос: http://kexp.tk/content/shortener_wrapper.php?urls=kexp.tk
Ответ: ONLY_URLS
Если бы запрос был корректным, было бы что-то вида: OK fj54eo dm654s<br/>th3l0s<br/>nbdk3n