Vue d’ensemble
Les fonctions mentionnées dans cette section sont optimisées pour offrir des performances maximales et, dans la plupart des cas, ne respectent pas la norme RFC-3986.
Les fonctions qui implémentent la RFC-3986 ont
RFC ajouté à leur nom et sont généralement plus lentes.RFC lorsque vous travaillez avec des domaines enregistrés publiquement qui ne contiennent ni informations utilisateur ni symbole @.
Le tableau ci-dessous indique quels symboles d’une URL peuvent (✔) ou ne peuvent pas (✗) être analysés par les variantes RFC et non-RFC correspondantes :
les symboles marqués d’un
* sont des sous-délimiteurs dans la RFC 3986 et sont autorisés dans les informations utilisateur après le symbole @.
Il existe deux types de fonctions d’URL :
- Les fonctions qui extraient des parties d’une URL. Si la partie concernée n’est pas présente dans l’URL, une chaîne vide est renvoyée.
- Les fonctions qui suppriment une partie d’une URL. Si l’URL ne contient rien de tel, elle reste inchangée.
Les fonctions ci-dessous sont générées à partir de la table système
system.functions.URLHierarchy
/, ? et # présents dans le chemin et la chaîne de requête. Les caractères séparateurs consécutifs sont comptés comme un seul. Le résultat inclut le protocole et l’hôte comme premier élément, puis des chemins de plus en plus longs formant une hiérarchie.
Syntaxe
url— L’URL à traiter.String
Array(String)
Exemples
Utilisation de base
Query
Response
URLPathHierarchy
/, ? et #. Contrairement à URLHierarchy, le résultat n’inclut ni le protocole ni l’hôte : il commence par le chemin. Les caractères séparateurs consécutifs sont comptés comme un seul.
Syntaxe
url— L’URL à traiter.String
Array(String)
Exemples
Utilisation de base
Query
Response
cutFragment
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
cutQueryString
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
cutQueryStringAndFragment
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomain
url— URL ou chaîne de domaine sous forme de chaîne à traiter.String
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomainCustom
url— URL ou chaîne de domaine à traiter.Stringtld_list_name— Nom de la liste de TLD personnalisée configurée dans ClickHouse.const String
String
Exemples
Utilisation d’une liste de TLD personnalisée pour les domaines non standard
Query
Response
cutToFirstSignificantSubdomainCustomRFC
url— URL ou chaîne de domaine à traiter conformément à la RFC 3986. -tld_list_name— Nom de la liste de TLD personnalisée configurée dans ClickHouse.
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomainCustomWithWWW
url— URL ou chaîne de domaine à traiter. -tld_list_name— Nom de la liste de TLD personnalisée configurée dans ClickHouse.
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomainCustomWithWWWRFC
www.
Accepte le nom d’une liste TLD personnalisée.
Cela peut être utile si vous avez besoin d’une liste TLD à jour ou si vous disposez d’une liste personnalisée.
Semblable à cutToFirstSignificantSubdomainCustomWithWWW, mais conforme à la RFC 3986.
Exemple de configuration
url— URL ou chaîne de domaine à traiter conformément à la RFC 3986. -tld_list_name— Nom de la liste de TLD personnalisée configurée dans ClickHouse.
www. String
Exemples
Analyse RFC 3986 avec conservation de www et liste de TLD personnalisée
Query
Response
cutToFirstSignificantSubdomainRFC
cutToFirstSignificantSubdomain, mais conforme à la RFC 3986.
Syntaxe
url— URL ou chaîne de domaine à traiter conformément à la RFC 3986.String
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomainWithWWW
cutToFirstSignificantSubdomain, mais conserve le préfixe ‘www.’ s’il est présent.
Syntaxe
url— URL ou chaîne de domaine à traiter.String
String
Exemples
Exemple d’utilisation
Query
Response
cutToFirstSignificantSubdomainWithWWWRFC
cutToFirstSignificantSubdomainWithWWW, mais conforme à la RFC 3986.
Syntaxe
url— URL ou chaîne de domaine à traiter conformément à la RFC 3986.
String
Exemples
Exemple d’utilisation
Query
Response
cutURLParameter
name d’une URL, s’il est présent.
Cette fonction n’encode ni ne décode les caractères des noms de paramètres. Par exemple, Client ID et Client%20ID sont traités comme des noms de paramètres distincts.
Syntaxe
url— URL.Stringname— Nom du paramètre de l’URL.StringouArray(String)
name a été supprimé. String
Exemples
Exemple d’utilisation
Query
Response
cutWWW
www. du domaine de l’URL, s’il est présent.
Syntaxe
url— URL.String
www.. String
Exemples
Exemple d’utilisation
Query
Response
decodeURLComponent
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
decodeURLFormComponent
+ sont convertis en espaces et les caractères encodés en pourcentage sont décodés.
Syntaxe
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
domain
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
domainRFC
domain, mais conforme à la RFC 3986.
Syntaxe
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
domainWithoutWWW
www. initial, s’il est présent.
Syntaxe
url— URL.String
www.), sinon une chaîne vide. String
Exemples
Exemple d’utilisation
Query
Response
domainWithoutWWWRFC
www. s’il est présent. Similaire à domainWithoutWWW, mais conforme à la RFC 3986.
Syntaxe
url— URL.String
www. au début), sinon une chaîne vide. String
Exemples
Exemple d’utilisation
Query
Response
encodeURLComponent
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
encodeURLFormComponent
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
extractURLParameter
name dans l’URL, s’il est présent ; sinon, une chaîne vide est renvoyée.
S’il existe plusieurs paramètres portant ce nom, la première occurrence est renvoyée.
La fonction suppose que le paramètre dans url est encodé de la même manière que l’argument name.
Syntaxe
String
Exemples
Exemple d’utilisation
Query
Response
extractURLParameterNames
url— URL.String
Array(String)
Exemples
Exemple d’utilisation
Query
Response
extractURLParameters
name=value correspondant aux paramètres d’URL.
Les valeurs ne sont pas décodées.
Syntaxe
url— URL.String
name=value correspondant aux paramètres d’URL. Array(String)
Exemples
Exemple d’utilisation
Query
Response
firstSignificantSubdomain
- Aucun.
Query
Response
firstSignificantSubdomainCustom
url— L’URL dont extraire le sous-domaine.Stringtld_list_name— Nom de la liste de TLD personnalisée définie dans la configuration.String
String
Exemples
Utilisation de base
Query
Response
firstSignificantSubdomainCustomRFC
firstSignificantSubdomainCustom, mais utilise une analyse d’URL conforme à la RFC 3986 plutôt que l’algorithme simplifié.
Syntaxe
url— L’URL à partir de laquelle extraire le sous-domaine.Stringtld_list_name— Nom de la liste de TLD personnalisée définie dans la configuration.String
String
Exemples
Utilisation de base
Query
Response
firstSignificantSubdomainRFC
- Aucun.
fragment
url— URL.String
# initial. String
Exemples
Exemple d’utilisation
Query
Response
netloc
username:password@host:port) d’une URL.
Syntaxe
url— URL.String
username:password@host:port à partir de l’URL donnée. String
Exemples
Exemple d’utilisation
Query
Response
path
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
pathFull
path, mais inclut la chaîne de requête et le fragment de l’URL.
Syntaxe
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
port
default_port si l’URL ne contient pas de port ou si elle ne peut pas être analysée.
Syntaxe
url— URL.Stringdefault_port— Facultatif. Numéro de port par défaut à renvoyer.0par défaut.UInt16
UInt16
Exemples
Exemple d’utilisation
Query
Response
portRFC
default_port si l’URL ne contient pas de port ou ne peut pas être analysée.
Semblable à port, mais conforme à la RFC 3986.
Syntaxe
url— URL.Stringdefault_port— Facultatif. Le numéro de port par défaut à renvoyer.0par défaut.UInt16
UInt16
Exemples
Exemple d’utilisation
Query
Response
protocol
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
queryString
#, ni ce qui suit #.
Syntaxe
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
queryStringAndFragment
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
topLevelDomain
L’URL peut être spécifiée avec ou sans protocole.
Par exemple :
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response
topLevelDomainRFC
Introduit dans : v22.10.0 Extrait le domaine de premier niveau d’une URL. Similaire àtopLevelDomain, mais conforme à la RFC 3986.
Syntaxe
url— URL.String
String
Exemples
Exemple d’utilisation
Query
Response