Стд::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"])
Ссылка.ВСтроку()
Ссылка.ВКодированнуюСтроку()
Свойства
ИмяПользователя
ТолькоЧтение
Имя пользователя.
Параметры
ТолькоЧтение
Параметры ссылки.
Пароль
ТолькоЧтение
Пароль пользователя.
Порт
ТолькоЧтение
Порт.
Путь
ТолькоЧтение
Путь.
Схема
ТолькоЧтение
Схема.
Хост
ТолькоЧтение
Хост.
Якорь
ТолькоЧтение
Якорь (хеш) ссылки.
Методы
ВКодированнуюСтроку
Возвращает строковое кодированное представление ссылки.
ВСтроку
Возвращает строковое представление ссылки.
Переопределение
Объект::ВСтроку
ПолучитьСегментыПути