Получить короткий с твоим API
Есть ли способ использовать javascript/jquery для получения короткого URL-адреса, возвращаемого с помощью API yourls, где, если я отправляю URL-адрес, если уже создан shorturl, он просто возвращает ShortURL, если нет, создает случайный, а затем возвращает это вновь созданный?
Я прочитал все API, которые могу, но он недостаточно глубок, чтобы понять это, поэтому мне интересно, знает ли кто-нибудь, кто сделал это, где я могу найти эту конкретную документацию.
Я хочу, чтобы люди с длинным URL-адресом нажимали на ссылку и возвращали короткий URL-адрес, который, если он уже существует, я не хочу, чтобы он снова создавался.
Буду признателен за ваши советы / советы, если у вас есть ноу-хау.
Спасибо, Ричард
1 ответ
Ваш вопрос скорее направлен на бэкэнд YOURLS. Я могу подтвердить, что если вы используете последнюю версию YOURLS, по умолчанию не будет дублированных коротких URL-адресов. Если вы отправляете длинный URL более одного раза, API все равно будет возвращать один и тот же короткий URL (вашему клиенту Javascript).
Вы можете найти эту настройку в config.php
на вашем YOURLS-сервере:
/** Allow multiple short URLs for a same long URL
** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
define( 'YOURLS_UNIQUE_URLS', true );
Поэтому убедитесь, что настройка установлена на true
,
Чтобы помочь вам начать, вот простой способ создания коротких URL-адресов с использованием Javascript. Я использую эту стороннюю оболочку для YOURLS.
Вам нужно будет подключиться к вашему серверу с помощью имени пользователя / пароля или, в качестве альтернативы, вашего токена подписи:
var api = yourls.connect('http://your.server/yourls-api.php', {
username: 'admin',
password: 'qwerty'
});
Если соединение установлено, вы можете использовать .shorten()
:
api.shorten('https://yourverylonglink.com/toshorten', function(data) {
console.log(data.shorturl); // returns http://your.server/1234
});