URL-функции#

Функции извлечения#

Функции извлечения URL извлекают компоненты из HTTP URL (или любых корректных URI, соответствующих RFC 2396). Поддерживается следующий синтаксис:

[protocol:][//host[:port]][path][?query][#fragment]

Извлеченные компоненты не содержат разделителей синтаксиса URI, таких как : или ?.

url_extract_fragment(url) varchar#

Возвращает идентификатор фрагмента из url.

url_extract_host(url) varchar#

Возвращает host из url.

url_extract_parameter(url, name) varchar#

Возвращает значение первого параметра query string с именем name из url. Извлечение параметров выполняется стандартным способом, как указано в RFC 1866#section-8.2.1.

url_extract_path(url) varchar#

Возвращает path из url.

url_extract_port(url) bigint#

Возвращает номер port из url.

url_extract_protocol(url) varchar#

Возвращает protocol из url:

SELECT url_extract_protocol('http://localhost:8080/req_path');
-- http

SELECT url_extract_protocol('https://127.0.0.1:8080/req_path');
-- https

SELECT url_extract_protocol('ftp://path/file');
-- ftp
url_extract_query(url) varchar#

Возвращает query string из url.

Функции кодирования#

url_encode(value) varchar#

Экранирует value, кодируя его так, чтобы его можно было безопасно включать в имена и значения параметров URL query:

  • Буквенно-цифровые символы не кодируются.

  • Символы ., -, * и _ не кодируются.

  • Пробел ASCII кодируется как +.

  • Все остальные символы преобразуются в UTF-8, а байты кодируются как строка %XX, где XX — шестнадцатеричное значение байта UTF-8 в верхнем регистре.

url_decode(value) varchar#

Декодирует URL-кодированное значение value. Эта функция является обратной к url_encode().