Функции для работы с URL#
Извлечение компонентов#
Функции ниже извлекают компоненты из URL-адресов (включая любые URI, соответствующие RFC 2396). Поддерживаемый синтаксис URL:
[protocol:][//host[:port]][path][?query][#fragment]
Извлеченные компоненты не содержат синтаксических разделителей URI таких, как : или ?.
- url_extract_fragment(url) varchar#
Возвращает идентификатор фрагмента из
url.
- url_extract_host(url) varchar#
Возвращает хост из
url.
- url_extract_parameter(url, name) varchar#
Возвращает значение первого параметра строки запроса с именем
nameизurl. Извлечение параметров выполняется способом, указанным в RFC 1866#section-8.2.1.
- url_extract_path(url) varchar#
Возвращает путь из
url.
- url_extract_port(url) bigint#
Возвращает порт из
url.
- url_extract_protocol(url) varchar#
Возвращает протокол из
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#
Возвращает строку запроса из
url.
Экранирование#
- url_encode(value) varchar#
Экранирует символы
valueтак, чтобы результат можно было безопасно использовать в качестве имен и значений параметров URL-запроса:Буквенно-цифровые символы не экранируются.
Символы
.,-,*и_не экранируются.Символ пробела ASCII экранируется как
+.Все остальные символы сначала преобразуются в UTF-8, а полученные байты кодируются как
%XX, гдеXX- это шестнадцатеричное значение байта UTF-8 в верхнем регистре.
- url_decode(value) varchar#
Отменяет экранирование
value. Функция является обратной кurl_encode().