Url
| Стд::Http::Url Базовые типы: Объект |
| Доступность: КлиентИСервер |
Иерархия типа
graph TD;
Url["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/test
// Урл.Параметры.ПолучитьПервый("param") - data
// Урл.Порт - 80
// Урл.ИмяПользователя - username
// Урл.Пароль - password
// Урл.Якорь - 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.ВСтроку() - http://1c.ru/applications/тест?параметр=значение
Собрать произвольный Url по частям:
// http://127.0.0.1:8080/app/%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5?data=%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0#%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA%201
пер 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")
.СПараметрамиЗапроса(новый ПараметрыЗапроса({"text": Адрес})))
.ВКодированнуюСтроку()
;
// ...
знч АдресКомпании = "Дмитровское шоссе, 9, Москва"
// https://maps.yandex.ru?text=%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B5%20%D1%88%D0%BE%D1%81%D1%81%D0%B5,%209,%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0
знч СсылкаНаКарту = ПолучитьСсылкуНаКартеПоАдресу(АдресКомпании)
Кодирование URL-строки с одиночными %:
// Будет выброшено исключение Исключение ИсключениеНедопустимыйАргумент
// ссылка = новый Url("https://docs.ru/path%zz/path?text=title%201")
// "%zz" - не валидное процентное кодирование
пер Ссылка = новый Url("https://docs.ru/path%zz/path?text=title%201", Истина)
// https://docs.ru/path%25zz/path?text=title%201
Ссылка.ВКодированнуюСтроку()
// https://docs.ru/path%zz/path?text=title 1
Ссылка.ВСтроку()
//Будет выброшено исключение Исключение ИсключениеНедопустимыйАргумент
// Ссылка = Url.СБазовымUrl("https://docs.ru")
// .СПутем("path%zz")
Ссылка = Url.СБазовымUrl("https://docs.ru")
.СПутем("path%zz", Истина)
// https://docs.ru/path%25zz
Ссылка.ВКодированнуюСтроку()
// https://docs.ru/path%zz
Ссылка.ВСтроку()
Раскодирование пути в URL-строке:
пер Ссылка = новый Url("https://docs.ru/path%20/%20path")
// "path / path"
Ссылка.Путь
// https://docs.ru/path%20/%20path
Ссылка.ВКодированнуюСтроку()
// Экранируем %, не раскодирую значение URL:
Ссылка = новый Url("https://docs.ru/path%20/%20path", Ложь)
// "path%20/%20path"
Ссылка.Путь
// https://docs.ru/path%2520/%2520path
Ссылка.ВКодированнуюСтроку()
Конструкторы
Url
| Доступность: КлиентИСервер |
Создает новый объект на основе указанного базового URL-адреса.
БазовыйUrl-URL-строка в любом виде (кодированный или не кодированный).РаскодироватьЗначение- ЗначениеБазовыйUrlбудет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если ссылка некорректна.
Свойства
ИмяПользователя
| ТолькоЧтение ИмяПользователя: Строка? |
| Доступность: КлиентИСервер |
Имя пользователя.
Параметры
| ТолькоЧтение Параметры: ПараметрыЗапроса? |
| Доступность: КлиентИСервер |
Параметры ссылки.
Пароль
| ТолькоЧтение Пароль: Строка? |
| Доступность: КлиентИСервер |
Пароль пользователя.
Порт
| ТолькоЧтение Порт: Число |
| Доступность: КлиентИСервер |
Порт.
Путь
| ТолькоЧтение Путь: Строка |
| Доступность: КлиентИСервер |
Путь.
Схема
| ТолькоЧтение Схема: Строка |
| Доступность: КлиентИСервер |
Схема.
Хост
| ТолькоЧтение Хост: Строка |
| Доступность: КлиентИСервер |
Хост.
Якорь
| ТолькоЧтение Якорь: Строка? |
| Доступность: КлиентИСервер |
Якорь (хеш) ссылки.
Методы
ВКодированнуюСтроку
ВКодированнуюСтроку(): Строка| Доступность: КлиентИСервер |
Возвращает строковое кодированное представление ссылки.
ВСтроку
ВСтроку(): Строка| Доступность: КлиентИСервер |
| Переопределение: ВСтроку |
Возвращает строковое представление ссылки.
ПолучитьСегментыПути
ПолучитьСегментыПути(): ЧитаемыйМассив<Строка>| Доступность: КлиентИСервер |
Возвращает массив сегментов пути в URL.
СБазовымUrl
| Доступность: КлиентИСервер |
Возвращает новый объект на основе указанного базового URL-адреса.
БазовыйUrl-URL-строка в любом виде (кодированный или не кодированный).РаскодироватьЗначение- ЗначениеБазовыйUrlбудет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если ссылка некорректна.
СДобавлениемПути
СДобавлениемПути(
Путь: Строка|ЧитаемыйМассив<Строка>,
РаскодироватьЗначение: Булево = Истина
): Url| Доступность: КлиентИСервер |
Возвращает копию объекта, в котором присоединен указанный путь.
Путь-URL- Путь или список сегментов пути. Например,/app/data, раздел/подраздел или “app”, “data”. Допустимо указывать кодированные или не кодированные значения.РаскодироватьЗначение- ЗначениеПуть(или значения, если это список сегментов пути) будет предварительно раскодировано изURL-кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если Путь некорректен.
СПараметрамиЗапроса
СПараметрамиЗапроса(ПараметрыЗапроса: ПараметрыЗапроса): Url| Доступность: КлиентИСервер |
| Перегрузка: СПараметрамиЗапроса(ПараметрыЗапроса: Строка, РаскодироватьЗначение: Булево = Истина): Url |
Возвращает копию объекта Url с указанными параметрами запроса.
ПараметрыЗапроса- параметры запросаURL-строки.
Исключения
ИсключениеНедопустимыйАргумент - если параметры запроса некорректны.
СПараметрамиЗапроса
| Доступность: КлиентИСервер |
| Перегрузка: СПараметрамиЗапроса(ПараметрыЗапроса: ПараметрыЗапроса): Url |
Возвращает копию объекта Url с указанными параметрами запроса.
ПараметрыЗапроса- параметры запросаURL-строки (кодированный или не кодированный). Например, в виде строкparam=data¶m-two=valueили?param=данные¶m-two=значение переменной.РаскодироватьЗначение- ЗначениеПараметрыЗапросабудет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если параметры запроса некорректны.
СПортом
| Доступность: КлиентИСервер |
Возвращает копию объекта Url с указанными портом.
Порт- Порт сервера (целое неотрицательное число).
Исключения
ИсключениеНедопустимыйАргумент - если порт не корректен.
СПустымиДаннымиАутентификации
СПустымиДаннымиАутентификации(): Url| Доступность: КлиентИСервер |
Возвращает копию объекта Url с пустыми данными аутентификации пользователя.
СПустымиПараметрамиЗапроса
СПустымиПараметрамиЗапроса(): Url| Доступность: КлиентИСервер |
Возвращает копию объекта Url с пустыми параметрами запроса.
СПутем
СПутем(
Путь: Строка|ЧитаемыйМассив<Строка>,
РаскодироватьЗначение: Булево = Истина
): Url| Доступность: КлиентИСервер |
Возвращает копию объекта с указанными путем.
Путь- Путь или список сегментов пути. Например,/app/dataилираздел/подраздел. раздел/подраздел или “app”, “data”. Допустимо указывать кодированные или не кодированные значения.РаскодироватьЗначение- ЗначениеПутьбудет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если путь некорректен.
СХостом
| Доступность: КлиентИСервер |
Возвращает копию объекта Url с указанными хостом.
Хост- Адрес сервера (кодированный или не кодированный). Например,1c.ruилисайт.рф.
Исключения
ИсключениеНедопустимыйАргумент - если хост некорректен.
СЯкорем
| Доступность: КлиентИСервер |
Возвращает копию объекта Url с указанным якорем.
Якорь- ЯкорьURL-строки (кодированный или не кодированный). Например,header-main. Важно, что первый символ#считается как часть якоря, а не как разделитель.РаскодироватьЗначение- ЗначениеЯкорьбудет предварительно раскодировано из URL кодировки, в противном случае значение будет использоваться “как есть”.
Исключения
ИсключениеНедопустимыйАргумент - если якорь некорректен.
СоСхемой
| Доступность: КлиентИСервер |
Возвращает копию объекта Url с указанной схемой.
Схема- Схема протокола. Например,https.
Исключения
ИсключениеНедопустимыйАргумент - если схема не валидна или не поддерживается.