Стд::Http::Url
Унифицированный адрес ресурса (URL-ссылка), представленный в виде объекта.
Схема ссылки:
Схема://ИмяПользователя:Пароль@Базовы йUrl:Порт/ОтносительныйПуть?Параметры#Якорь
Пример ссылки:
http://username:password@1c.ru:80/applications/test?param=data#anchor
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Примеры
Общие примеры
Создание Url из строки.
пер Ссылка = новый Url("http://username:password@1c.ru:80/applications/test?param=data#anchor")
Раскодированная ссылка:
знч ЗакодированнаяСсылка = "http://1c.ru/applications/\%D1\%82\%D0\%B5\%D1\%81\%D1\%82?\%D0\%BF\%D0\%B0\%D1\%80\%D0\%B0\%D0\%BC\%D0\%B5\%D1\%82\%D1\%80=\%D0\%B7\%D0\%BD\%D0\%B0\%D1\%87\%D0\%B5\%D0\%BD\%D0\%B8\%D0\%B5"
знч Ссылка = новый Url(ЗакодированнаяСсылка)
Ссылка.ВСтроку()
Собрать произвольный Url по частям:
пер Ссылка = Url.СБазовымUrl("http://localhost")
.СХостом("127.0.0.1")
.СПортом(8080)
.СПутем("/app/приложение")
.СПараметрамиЗапроса("data=данные запроса")
.СЯкорем("заголовок 1")
Конвертировать адрес FTP на SFTP:
метод ПерейтиВSftp(ИсходнаяСсылка: Url): Url
возврат ИсходнаяСсылка.СоСхемой("sftp").СПортом(22)
;
Сформировать URL-ссылку на Яндекс: Карты с адресом:
метод ПолучитьСсылкуНаКартеПоАдресу(Адрес: Строка): Строка
возврат Url.СБазовымUrl("https://maps.yandex.ru")
.СПараметрамиЗапроса(новый ПараметрыUrl({"text": Адрес}))
.ВКодированнуюСтроку()
;
метод ПолучитьСсылкуНаОфисНаКарте(): Строка
знч АдресКомпании = "Дмитровское шоссе, 9, Москва"
знч СсылкаНаОфисНаКарте = ПолучитьСсылкуНаКартеПоАдресу(АдресКомпании)
возврат СсылкаНаОфисНаКарте
;
Кодирование URL-строки с одиночными %:
пер Ссылка = новый Url("https://docs.ru/path%%zz/path?text=title%201")
Ссылка = новый Url("https://docs.ru/path%%zz/path?text=title%201", Истина)
Ссылка.ВКодированнуюСтроку()
Ссылка.ВСтроку()
Ссылка = Url.СБазовымUrl("https://docs.ru")
.СПутем("path%%zz")
Ссылка = Url.СБазовымUrl("https://docs.ru")
.СПутем("path%%zz", Истина)
Ссылка.ВКодированнуюСтроку()
Ссылка.ВСтроку()
Раскодирование пути в URL-строке:
пер Ссылка = новый Url("https://docs.ru/path%20/%20path")
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
Ссылка = новый Url("https://docs.ru/path%20/%20path", Ложь)
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
Конструкторы
Url
Url(
Ссылка: Строка,
РаскодироватьЗначение: Булево = Истина)
Создает новый объект на основе указанного базового
URL-адреса.
БазовыйUrl - URL-строка в любом виде (кодированный или не кодированный).
РаскодироватьЗначение - Значение БазовыйUrl будет предварительно раскодировано из URL кодировки, в противном
случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если ссылка некорректна.
Примеры
Переданное значение будет раскодировано:
знч Ссылка = Url.СБазовымUrl("http://1c.ru/my%20string")
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
Переданное значение не будет раскодировано:
знч Ссылка = Url.СБазовымUrl("http://1c.ru/my%20string", Ложь)
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
Заменить версию API в Url-пути:
конст ВЕРСИЯ_АПИ_3 = "v3"
метод ПреобразоватьПутьВUrlДо3ВерсииАпи(ИсходныйUrl: Url): Url
знч СегментыПути = ИсходныйUrl.ПолучитьСегментыПути()
если СегментыПути[1] == ВЕРСИЯ_АПИ_3
возврат ИсходныйUrl
;
знч НовыеСегментыПути = новый Массив<Строка>(СегментыПути)
НовыеСегментыПути[1] = ВЕРСИЯ_А ПИ_3
возврат ИсходныйUrl.СПутем(НовыеСегментыПути)
;
метод ПолучитьUrl3ВерсииАпи(UrlV1String: String): Url
знч UrlV1 = новый Url(UrlV1String)
знч UrlV3 = ПреобразоватьПутьВUrlДо3ВерсииАпи(UrlV1)
возврат UrlV3
;
Экранирование части пути с символом "/":
знч Ссылка = новый Url("https://github.com/user/repo")
.СДобавлениемПути(["tree", "feature/issue-99"])
Ссылка.ВСтроку()
Ссылка.ВКодированнуюСтроку()
Свойства
ИмяПользователя
ТолькоЧтение
Имя пользователя.
Параметры
ТолькоЧтение
Параметры ссылки.
Пароль
ТолькоЧтение
Пароль пользователя.
Порт
ТолькоЧтение
Порт.
Путь
ТолькоЧтение
Путь.
Схема
ТолькоЧтение
Схема.
Хост
ТолькоЧтение
Хост.
Якорь
ТолькоЧтение
Якорь (хеш) ссылки.
Методы
ВКодированнуюСтроку
Возвращает строковое кодированное представление ссылки.
ВСтроку
Возвращает строковое представление ссылки.
Переопределение
Объект::ВСтроку
ПолучитьСегментыПути
Возвращает массив сегментов пути в URL.
СБазовымUrl
Статический
Возвращает новый объект на основе указанного базового
URL-адреса.
БазовыйUrl - URL-строка в любом виде (кодированный или не кодированный).
РаскодироватьЗначение - Значение БазовыйUrl будет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если ссылка некорректна.
Примеры
Переданное значение будет раскодировано:
знч Ссылка = Url.СБазовымUrl("http://1c.ru/my%20string")
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
Переданное значение не будет раскодировано:
знч Ссылка = Url.СБазовымUrl("http://1c.ru/my%20string", Ложь)
Ссылка.Путь
Ссылка.ВКодированнуюСтроку()
СДобавлениемПути
Возвращает копию объекта, в котором присоединен указанный путь.
Путь - URL- Путь или список сегментов пути. Например, /app/data, раздел/подраздел или "app", "data". Допустимо указывать кодированные или не кодированные значения.
РаскодироватьЗначение - Значение Путь (или значения, если это список сегментов пути) будет предварительно раскодировано из URL-кодировки, в противном случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если Путь некорректен.
Примеры
Добавления сегмента пути без раскодирования значения:
знч Ссылка = новый Url("https://1c.ru/product")
.СДобавлениемПути(["1s-buhgalteriya%208-3"], Ложь)
Ссылка.ВСтроку()
Ссылка.ВКодированнуюСтроку()
Добавление сегмента пути с раскодированием значения:
знч Ссылка = новый Url("https://1c.ru/product")
.СДобавлениемПути(["1s-buhgalteriya%208-3"], Истина)
Ссылка.ВСтроку()
Ссылка.ВКодированнуюСтроку()
СПараметрамиЗапроса
Возвращает копию объекта
Url с указанными параметрами запроса.
ПараметрыЗапроса - параметры запроса URL-строки.
Исключения
ИсключениеНедопустимыйФормат - если параметры запроса некорректны.
Перегрузка
СПараметрамиЗапроса(ПараметрыЗапроса: Строка, РаскодироватьЗначение: Булево = Истина): Url
СПараметрамиЗапроса
Возвращает копию объекта
Url с указанными параметрами запроса.
ПараметрыЗапроса - параметры запроса URL-строки (кодированный или не кодированный). Например, в виде
строк param=data¶m-two=value или ?param=данные¶m-two=значение переменной.
РаскодироватьЗначение - Значение ПараметрыЗапроса будет предварительно раскодир овано из URL кодировки, в противном случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если параметры запроса некорректны.
Перегрузка
СПараметрамиЗапроса(ПараметрыЗапроса: ПараметрыUrl): Url
СПортом
Возвращает копию объекта
Url с указанными портом.
Порт - Порт сервера (целое неотрицательное число).
Исключения
ИсключениеНедопустимыйФормат - если порт не корректен.
СПустымиДаннымиАутентификации
Возвращает копию объекта
Url с пустыми данными аутентификации пользователя.
СПустымиПараметрамиЗапроса
Возвращает копию объекта
Url с пустыми параметрами запроса.
СПутем
Возвращает копию объекта с указанными путем.
Путь - Путь или список сегментов пути. Например, /app/data или раздел/подраздел. раздел/подраздел или "app", "data". Допустимо указывать кодированные или не кодированные значения.
РаскодироватьЗначение - Значение Путь будет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если путь некорректен.
СХостом
Возвращает копию объекта
Url с указанными хостом.
Хост - Адрес сервера (кодированный или не кодированный). Например, 1c.ru или сайт.рф.
Исключения
ИсключениеНедопустимыйФормат - если хост некорректен.
С Якорем
Возвращает копию объекта
Url с указанным якорем.
Якорь - Якорь URL-строки (кодированный или не кодированный). Например, header-main. Важно, что первый символ # считается как часть якоря, а не как разделитель.
РаскодироватьЗначение - Значение Якорь будет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться "как есть".
Исключения
ИсключениеНедопустимыйФормат - если якорь некорректен.
СоСхемой
Возвращает копию объекта
Url с указанной схемой.
Схема - Схема протокола. Например, https.
Исключения
ИсключениеНедопустимыйФормат - если схема не валидна или не поддерживается.
Список унаследованных методов
Объект
ВСтроку (Переопределение)
ПолучитьТип
Представление