Сокращение ссылок через bit.ly из bash
На «Макрадаре» появилась статья про сокращение ссылок через bit.ly через «Автоматор», хорошая штука, иногда бывает нужно, когда кривой парсер какого-нибудь сайта не принимает какую-то ссылку, но сам скрипт (в примере «Автоматор» запускает его через «баш») мне не понравился.
Во-первых, в нём куча ошибок, во-вторых, мне не нравится идея хранить в скрипте пароль. На самом деле можно после регистрации на bit.ly зайти на специальный урл, и, после ввода своего пароля, получить специальный токен, который можно уже сохранить в скрипте.
Вот мой вариант:
TOKEN=<ваш токен, полученный по инструкции выше>
URL="$1"
[[ "$URL" =~ ^https?:// ]] || URL="http://$URL"
path="${URL#*//*/}"
host="${URL:0:${#URL}-${#path}}"
path=$(echo -n "$path" | hexdump -ve '1/1 "x%02X"' | tr x %)
curl 'https://api-ssl.bitly.com/v3/shorten' \
--data "access_token=$TOKEN" \
--data 'format=txt' \
--data "longUrl=$host$path"
Скажите где найти для goo.gl такой скрипт?
Комментарий для Григорий:
http://goggle.com/
Комментарий для Евгения Степанищева:
Здравствуйте!
Евгений,
хочу воспользоваться Вашей наработкой,
да вот незадача,
https://www.dropbox.com/s/961mqnnl2h7v90c/Screenshot%202016-03-13%2012.46.09.png?dl=0
Процесс:
https://www.dropbox.com/s/m018yuadd9oizwd/Screenshot%202016-03-13%2012.46.39.png?dl=0
Помогите отладить, пожалуйста.
Комментарий для kenzoev:
Добрый вечер!
Вы запустите его «башем» (bash) из терминала, посмотрите на ошибку.
Комментарий для Евгения Степанищева:
Вот чего пишет:
Комментарий для Евгения Степанищева:
Кажется разобрался. Вопрос был в аргументе --data,
который начинался с новой строки.
Если записать этот аргумент без переноса на новую строку, все работает.
Спасибо за подсказку запуска из терминала.
И за этот замечательный скрипт :)
Комментарий для kenzoev:
Поправил скрипт. Обратные слеши куда-то пропали.
Здравствуйте!
Скрипт больше не работает, видимо, что-то обновилось у bitly.com
Помогите разораться.
Восемь лет прошло, наверняка у них всё кардинально изменилось. Возьмите любую другую реализацию, наверняка их море в интернете, особенно на Пайтоне и под Ноду.