舉個例子,給你

http://www.sina.com.cn 這樣的 URL,你覺得主域名是什么呢?是 http://sina.com.cn 還是 http://com.cn 呢?

從常識來說,我們所希望得到的主域名,應(yīng)該是能夠" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > 如何使用正則表達式得到一個 URL 中的主域名,不用正則還有什么方法?

如何使用正則表達式得到一個 URL 中的主域名,不用正則還有什么方法?

時間:2023-02-11 15:21:01 | 來源:建站知識

時間:2023-02-11 15:21:01 來源:建站知識

用正則表達式精準抽取「主域名」是做不到的。

舉個例子,給你

http://www.sina.com.cn 這樣的 URL,你覺得主域名是什么呢?是 http://sina.com.cn 還是 http://com.cn 呢?

從常識來說,我們所希望得到的主域名,應(yīng)該是能夠清晰區(qū)分網(wǎng)站主體的域名后綴,比如上面的例子,就是 http://sina.com.cn。那域名中的哪段內(nèi)容才能區(qū)分網(wǎng)站主體呢?想一下就可以得出,是把整個域名從右往左分段,找到第一個「非公用」的部分。

首先,域名從右往左第一段是頂級域名(TLD),其中又分為通用頂級域名(gTLDs,如 .com、.edu、.org 等)和國家地區(qū)代碼頂級域名(ccTLDs,如 .cn、.uk、.hk 等)。ICANN 統(tǒng)一管理 gTLDs,并將 ccTLDs 下放給各種域名注冊機構(gòu)管理,例如國家地區(qū)頂級域名就交由不同國家地區(qū)來管理。中國大陸的域名管理機構(gòu)為著名的 CNNIC。我們再以 .cn 域名為例,下設(shè)一些預(yù)定義的「類別域名」如 .http://com.cn、.http://org.cn、.http://edu.cn 以及「行政區(qū)域名」如 .http://sh.cn、.http://bj.cn,并且同時開放 .cn 域名的注冊。這意味著,我注冊一個叫 test 的域名,既可以是 http://test.com.cn 也可以是 http://test.cn,也就是說,那些域名的「公用部分」長度是不確定的。那么如果給我一個 URL 我是沒法以一個固定的方式來做截取的,而是必須知道這個 URL 的域名中哪個最長的后綴已經(jīng)被某個域名管理機構(gòu)預(yù)定義為公用的域名,然后剔除掉這部分才能找到第一個非公用的部分。

幸好,有

Public Suffix List 這樣的項目,你可以利用它提供的列表,來提取需要的「主域名」。目前的數(shù)據(jù)見:

http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1。另外,你可以看看這個列表:

Learn more about the Public Suffix List,看看都有誰在使用和維護這份數(shù)據(jù),以及他們都用來干嘛,比如:

從這個頁面你也可以看到,你用 JavaScript 的話,可以直接使用

tld.js 這個項目來提取主域名。

關(guān)鍵詞:方法,使用

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉