Функции для работы с URL

Функции для работы с URL предназначены для анализа и манипуляции URL-адресами. Они позволяют извлекать компоненты URL, такие, как протокол, домен, порт, путь, параметры запроса, а также проводить различные операции по преобразованию и очистке URL-адресов.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции для работы с URL
Функция Описание

cutFragment(url)

Удаляет из строки url якорь — часть строки, начинающуюся с символа #, включая сам символ, и возвращает полученный URL.

cutQueryString(url)

Удаляет из строки url строку запроса — часть, начинающуюся с символа ?, включая сам символ, и возвращает полученный URL.

cutQueryStringAndFragment(url)

Удаляет из строки url строку запроса и якорь — части, начинающиеся с символов ? и #, включая сами символы, и возвращает полученный URL.

cutToFirstSignificantSubdomain(url)

Удаляет из строки url часть до первого значимого поддомена. Значимый поддомен — это второй уровень домена, если первый уровень равен com, net, org или co, в противном случае — третий уровень. Если значимый поддомен выделить невозможно, возврашает пустую строку.

cutToFirstSignificantSubdomainCustom(url, tld_list_name)

Удаляет из строки url часть до первого значимого поддомена с учетом списка доменов верхнего уровня tld_list_name (имя пользовательского списка TLD). Значимый поддомен — это второй уровень домена, если верхний уровень равен com, net, org или co, в противном случае — третий уровень.

cutToFirstSignificantSubdomainCustomRFC(url, tld_list_name)

Функция аналогична cutToFirstSignificantSubdomainCustom, но строго соответствует правилам RFC 3986.

cutToFirstSignificantSubdomainCustomWithWWW(url, tld_list_name)

Функция аналогична cutToFirstSignificantSubdomainCustom, но не удаляет префикс www, если он присутствует.

cutToFirstSignificantSubdomainCustomWithWWWRFC(url, tld_list_name)

Функция аналогична cutToFirstSignificantSubdomainCustom, но строго соответствует правилам RFC 3986, при этом не удаляет префикс www, если он присутствует.

cutToFirstSignificantSubdomainRFC(url)

Функция аналогична cutToFirstSignificantSubdomain, но строго соответствует правилам RFC 3986.

cutToFirstSignificantSubdomainWithWWW(url)

Функция аналогична cutToFirstSignificantSubdomain, но не удаляет префикс www..

cutToFirstSignificantSubdomainWithWWWRFC(url)

Функция аналогична cutToFirstSignificantSubdomain, но строго соответствует правилам RFC 3986, при этом не удаляет префикс www., если он присутствует.

cutURLParameter(url, name)

Удаляет из строки url параметр с именем name.

cutWWW(url)

Удаляет начальное www. из доменного имени в строке url.

decodeURLComponent(url)

Декодирует строку url, закодированную в формате URL, и возвращает в человекочитаемом виде.

decodeURLFormComponent(url)

Декодирует строку url, закодированную по правилам кодирования веб-форм, и возвращает в человекочитаемом виде.

domain(url)

Извлекает имя хоста из строки url и возвращает его. Если строка не является корректным URL-адресом, возвращает пустую строку.

domainRFC(url)

Функция аналогична domain, но строго соответствует правилам RFC 3986.

domainWithoutWWW(url)

Функция аналогична domain, при этом удаляет префикс www., если он присутствует.

domainWithoutWWWRFC(url)

Функция аналогична domain, но строго соответствует правилам RFC 3986, при этом удаляет префикс www., если он присутствует.

encodeURLComponent(url)

Принимает обычную строку url и возвращает ее в URL-кодированный формате.

encodeURLFormComponent(url)

Возвращает закодированный URL-адрес строки url.

extractURLParameter(url, name)

Принимает строку url и имя параметра (name). Возвращает значение первого вхождения этого параметра, или пустую строку, если он отсутствует.

extractURLParameterNames(url)

Возвращает массив имен параметров из строки url.

extractURLParameters(url)

Возвращает массив параметров из строки url.

firstSignificantSubdomain(url)

Принимает URL-строку. Возвращает первый значимый поддомен для строки url. Значимый поддомен — это второй уровень домена, если первый уровень равен com, net, org или co, в противном случае — третий уровень. Если значимый поддомен выделить невозможно, возвращает пустую строку.

firstSignificantSubdomainCustom(url, tld_list_name)

Принимает строку url и имя пользовательского списка TLD (tld_list_name). Возвращает первый значимый поддомен на основе этого списка. Значимый поддомен — это второй уровень домена, если первый уровень равен com, net, org или co, в противном случае — третий уровень. Если значимый поддомен выделить невозможно, возврашает пустую строку.

firstSignificantSubdomainCustomRFC(url, tld_list_name)

Функция аналогична firstSignificantSubdomainCustom, но строго соответствует правилам RFC 3986.

firstSignificantSubdomainRFC(url)

Функция аналогична firstSignificantSubdomain, но строго соответствует правилам RFC 1034.

fragment(url)

Возвращает якорь из строки url, при этом # удаляется. Если якорь отсутствует, возвращает пустую строку.

netloc(url)

Возвращает сетевую часть (username:password@host:port) из строки url, без строки запроса и якоря.

path(url)

Возвращает путь из строки url без строки запроса и якоря.

pathFull(url)

Возвращает путь из строки url, включая строку запроса и якорь.

port(url[, default_port])

Возвращает порт из строки url или значение default_port, если порт не указан.

portRFC(url[, default_port])

Функция аналогична port, но строго соответствует правилам RFC 3986.

protocol(url)

Возвращает протокол из строки url.

queryString(url)

Возвращает строку запроса из строки url, при этом ? и все после # удаляется.

queryStringAndFragment(url)

Возвращает строку запроса и якорь из строки url.

topLevelDomain(url)

Извлекает домен верхнего уровня (TLD) из строки url и возвращает его. Если строка не является корректным URL, возвращает пустую строку.

topLevelDomainRFC(url)

Функция аналогична topLevelDomain, но строго соответствует правилам RFC 3986.

URLHierarchy(url)

Возвращает массив, содержащий строку url, полученный разбиением по /, ? и #. Повторяющиеся разделители считаются за один.

URLPathHierarchy(url)

Функция аналогична URLHierarchy, но результат не включает протокол и хост — он начинается с пути.

Была ли полезна эта страница?

Обратная связь