How can I check whether URL.Hostname is a valid domain name? I am searching for the exact same behaviour as URI.CheckHostName in the .NET framework.
Asked
Active
Viewed 9,327 times
3
-
2Currently, there is no solution using standard library only. You need to use third party library/regex. However, if you need to support *internationalized domain name*, the task may not trivial. See [https://stackoverflow.com/questions/11809631/fully-qualified-domain-name-validation](https://stackoverflow.com/questions/11809631/fully-qualified-domain-name-validation), [https://stackoverflow.com/questions/3523028/valid-characters-of-a-hostname](https://stackoverflow.com/questions/3523028/valid-characters-of-a-hostname) – putu Jan 13 '18 at 11:14
2 Answers
1
The function IsDNSName from the govalidator package should do what you want. For details on installing it, see the README.
phlummox
- 221
- 4
- 10
-
It allows underscore in domain names which is wrong. See RFC1034 section 3.5. A later change to this RFC is to allow digits as first label character. The TLD label can't start with a digit to avoid confusion between domain names and IPv4 addresses. – chmike Jun 26 '18 at 08:16