CPP检查字符串是否为有效域名

cpp check if the string is a valid domain name?

本文关键字:有效 域名 是否 检查 字符串 CPP      更新时间:2023-10-16

如标题所述,是否有一种快速的方法来做到这一点?我不需要一个坚实的解决方案,任何可以区分的东西,例如:

http://asdasd/

不是一个有效的域名,其中

http://asd.asdasd.asd

为有效域名。

我试着搜索解决方案,最接近(简单)的解决方案是:在python

但这是python,我需要在c++中做。任何帮助吗?

可以通过使用"字符串操作"来完成吗?子字符串?

我相信libcurl可以做到。

考虑到http://...不是域名而是URL,并且asdasd 作为有效域名,如果设置为搜索域(例如在本地网络上),那么纯粹检查字符串语法可以用一组简单的strncmp, strchrstrstr命令完成

char *str = "http://abd.xxx";
bool valid = strncmp(str,"http://",7) && str[7] && strchr(str+7,'.');

这应该检查字符串是否以http://开始,并且在http://之后有更多,并且之后的更多包含一个点——如果您还想处理URL包含实际路径的地方,如http://expample.com/mypath.txt,那么示例变得更复杂,但您没有指定是否需要。

或者,您可以使用regex和从您指向自己的python答案中获得的模式