7.2 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
54 | URL'ler ile çalışma |
URL'ler ile çalışmak için işlevler
Tüm bu işlevler RFC'Yİ takip etmez. Geliştirilmiş performans için maksimum derecede basitleştirilmişlerdir.
Bir URL'nin bölümlerini Ayıklayan işlevler
İlgili bölüm bir URL'de yoksa, boş bir dize döndürülür.
protokol
Protokolü bir URL'den ayıklar.
Examples of typical returned values: http, https, ftp, mailto, tel, magnet…
etki
Ana bilgisayar adını bir URL'den ayıklar.
domain(url)
Parametre
url
— URL. Type: Dize.
URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
Bu örnekler için, domain
işlev aşağıdaki sonuçları döndürür:
some.svn-hosting.com
some.svn-hosting.com
yandex.com
Döndürülen değerler
- Adı ana. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
- Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.
Tür: String
.
Örnek
SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
┌─domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')─┐
│ some.svn-hosting.com │
└────────────────────────────────────────────────────────┘
domainWithoutWWW
Etki alanını döndürür ve birden fazla kaldırır ‘www.’ başlangıcına, eğer var dan.
topLevelDomain
Üst düzey etki alanını bir URL'den ayıklar.
topLevelDomain(url)
Parametre
url
— URL. Type: Dize.
URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
Döndürülen değerler
- Etki alanı adı. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
- Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.
Tür: String
.
Örnek
SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com │
└────────────────────────────────────────────────────────────────────┘
firstSignificantSubdomain
Ret theur thens the “first significant subdomain”. Bu, Yandex'e özgü standart olmayan bir kavramdır.Metrica. İlk önemli alt etki alanı ise ikinci düzey bir etki alanıdır ‘com’, ‘net’, ‘org’, veya ‘co’. Aksi takdirde, üçüncü düzey bir alandır. Mesela, firstSignificantSubdomain (‘https://news.yandex.ru/’) = ‘yandex’, firstSignificantSubdomain (‘https://news.yandex.com.tr/’) = ‘yandex’
. Listesi “insignificant” ikinci düzey etki alanları ve diğer uygulama ayrıntıları gelecekte değişebilir.
cutToFirstSignificantSubdomain
En üst düzey alt etki alanlarını içeren etki alanının bir bölümünü döndürür. “first significant subdomain” (yukarıdaki açıklamaya bakınız).
Mesela, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'
.
yol
Yolu döndürür. Örnek: /top/news.html
Yol sorgu dizesini içermez.
pathFull
Yukarıdaki ile aynı, ancak sorgu dizesi ve parça dahil. Örnek: / top / haberler.html?Sayfa = 2 # yorumlar
queryString
Sorgu dizesini döndürür. Örnek: Sayfa = 1 & lr = 213. sorgu dizesi, ilk soru işaretinin yanı sıra # ve # sonrası her şeyi içermez.
parça
Parça tanımlayıcısını döndürür. fragment ilk karma sembolü içermez.
queryStringAndFragment
Sorgu dizesini ve parça tanımlayıcısını döndürür. Örnek: Sayfa = 1#29390.
extractURLParameter (URL, isim)
Değerini döndürür ‘name’ varsa, URL'DEKİ parametre. Aksi takdirde, boş bir dize. Bu ada sahip birçok parametre varsa, ilk oluşumu döndürür. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.
extractURLParameters (URL)
Bir dizi döndürür name = URL parametrelerine karşılık gelen değer dizeleri. Değerler hiçbir şekilde deşifre edilmez.
extractURLParameterNames(URL)
URL parametrelerinin adlarına karşılık gelen bir dizi ad dizesi döndürür. Değerler hiçbir şekilde deşifre edilmez.
URLHierarchy(URL)
Sonunda/,? simgeleriyle kesilen URL'yi içeren bir dizi döndürür yol ve sorgu dizesinde. Ardışık ayırıcı karakterler bir olarak sayılır. Kesim, tüm ardışık ayırıcı karakterlerden sonra pozisyonda yapılır.
URLPathHierarchy(URL)
Yukarıdaki ile aynı, ancak sonuçta protokol ve ana bilgisayar olmadan. / Eleman (kök) dahil değildir. Örnek: işlev, yandex'te URL'yi ağaç raporları uygulamak için kullanılır. Ölçü.
URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
'/browse/',
'/browse/CONV-6788'
]
decodeURLComponent (URL)
Çözülmüş URL'yi döndürür. Örnek:
SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘
URL'nin bir bölümünü kaldıran işlevler
URL'de benzer bir şey yoksa, URL değişmeden kalır.
cutWWW
Birden fazla kaldırır ‘www.’ varsa, URL'nin etki alanının başından itibaren.
cutQueryString
Sorgu dizesini kaldırır. Soru işareti de kaldırılır.
cutFragment
Parça tanımlayıcısını kaldırır. Sayı işareti de kaldırılır.
cutQueryStringAndFragment
Sorgu dizesini ve parça tanımlayıcısını kaldırır. Soru işareti ve sayı işareti de kaldırılır.
cutURLParameter (URL, isim)
Kaldırır ‘name’ Varsa URL parametresi. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.