TldExtract 1.0.0
dotnet add package TldExtract --version 1.0.0
NuGet\Install-Package TldExtract -Version 1.0.0
<PackageReference Include="TldExtract" Version="1.0.0" />
paket add TldExtract --version 1.0.0
#r "nuget: TldExtract, 1.0.0"
// Install TldExtract as a Cake Addin #addin nuget:?package=TldExtract&version=1.0.0 // Install TldExtract as a Cake Tool #tool nuget:?package=TldExtract&version=1.0.0
TldExtract
This .NET Standard 2 library and Command line tool extracts the root domain, subdomain name, and top level domain from a URL, using the the Public Suffix List.
This is based on the Go TldExtract and the Python TldExtract libraries from:
This library is useful as it uses the public database to sort out what is the domain, the TLD and the root domain, without using assumptions as to what the contents are.
Some examples:
Host name | Subdomain | Root domain | Top-level Domain |
---|---|---|---|
www.google.co.uk | www | co.uk | |
forums.news.cnn.com | forums.news | cnn | com |
google.notavalidsuffix | notavalidsuffix | ||
media.forums.theregister.co.uk | media.forums | theregister | co.uk |
www.cgs.act.edu.au | www | cgs | act.edu.au |
joe.blogspot.co.uk | joe | blogspot.co.uk | |
wiki.info | wiki | info |
Usage
Add the TldExtract library NuGet package to your solution, and then create an instance of the
NStack.TldExtract
class. You can either provide a path to the cache file where you want the
public suffix list to be downloaded or nothing and the library will choose the proper cache
location for you.
Then invoke the Extract method that will return a tuple of values with the subdomain, the root domain and the TLD domain.
Examples
var extractor = new NStack.TldExtract ();
(var sub, var root, var tld) = extractor.Extract ("www.microsoft.com");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 409,278 | 12/6/2017 |
Initial release