Сокращатель ссылок (u.to)

Готовые скрипты, модули расширений, динамические библиотеки и вспомогательные утилиты.
Аватара пользователя
Владимир
Администратор
Сообщения: 605
Зарегистрирован: 10 фев 2018, 18:27
Откуда: Белгород
Контактная информация:

Сокращатель ссылок (u.to)

Сообщение Владимир » 09 авг 2019, 16:03

Функция: "U_TO". Сокращает длинный URL посредством одноименного сервиса.
Группа: "Интернет"

Пример: U_TO('https://forum.develop-soft.ru')
Результат: https://u.to/1JQKFg

Примечание:
Сервис не предоставляет открытого API для полноценного с ним взаимодействия, посему функция реализована "альтернативным" способом (то есть - ее стабильная работа не гарантируется).
На каком-то "превышении лимита" начинает себя пиарить просит "немного подождать":
Изображение

Код расширенияПоказать

Код: Выделить всё

{@module
  Author=Develop-Soft [ https://forum.develop-soft.ru ]
  Version=1.0
  Description=Функция для получения короткого url с помощью сервиса u.to
@}

{@function
  OrigName=U_TO
  Name=U_TO
  Args=v
  Result=s
  Group=Интернет
  Description=Функция для получения короткого url с помощью сервиса u.to<br><br>
  <code>U_TO([длинный url]): результат короткий url</code>
@}

function EncodeURI(s:string):string;
var SC:variant;
begin
  try
  SC := CreateOleObject('MSScriptControl.ScriptControl');
  SC.Language := 'JScript';
  SC.Reset;
  SC.AddCode('function EncUri(s){return encodeURI(s);};');
  result := SC.Run('EncUri',s);
  except
  try SC:=0; except end;
  debug('Ошибка EncodeURI: '+ExceptionParam);
  finally
  SC:=Unassigned;
  end;
end;

function U_TO(URL:Variant):string;
var H,hf:variant;
begin
  try
    if VarToStr(URL)='' then exit;
    H := CreateOleObject('MSXML2.XMLHTTP');
    H.Open('POST','https://u.to/',false);
    H.Send('url='+EncodeURI(VarToStr(URL))+'&a=add');
    hf := CreateOleObject('htmlfile');
    hf.write(H.ResponseText);
    if hf.links.length<7 then
    RaiseException(erCustomError,'Некорректный URL ("'+VarToStr(URL)+'")');
    result := hf.links[hf.links.length-1].InnerText;
  except
    result:='';
    debug('Ошибка U_TO:' + ExceptionParam);
  finally
    hf := Unassigned;
    H:=Unassigned;
  end;
end;

Скачать:
Укорачиватель ссылок (u.to).epas
(1.51 КБ) 71 скачивание

Поддержка проекта



Теги:

Быстрый ответ

Смайлики
:-) ;-) :-( :-[ :-D :-P O_O :bye: :good: :help: :lol: :ok: :pardon: :sorry: :yes:
Ещё смайлики…
Загрузить изображение