cpp 检查字符串是否是有效的域名?

发布于 2024-11-30 06:02:09 字数 401 浏览 0 评论 0原文

正如标题所提到的,有没有一种快速的方法可以做到这一点?我不需要一个可靠的解决方案,任何可以区分的东西,例如:

http://asdasd/

不是一个有效的域名,哪里

http://asd.asdasd.asd

是一个有效的域名。

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

但这就是Python的,我需要在C++中做。有什么帮助吗?

仅使用“字符串操作”可以完成吗?比如,子串?

as title mentioned, is there a quick way to do that? I dont need a solid solution, anything that can differentiate, for example:

http://asdasd/

is not a valid domain name, where

http://asd.asdasd.asd

is a valid domain name.

I tried to search the solution, the closest(simple) solution is this: in python

But thats for python, I need to do in c++. Any help?

Can it be done by using "string manipulation" only? Like, substring?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

∝单色的世界 2024-12-07 06:02:09

我相信这可以通过 libcurl 来完成。

I believe this can be done with libcurl.

撧情箌佬 2024-12-07 06:02:09

事实是,http://... 不是域名,而是 URL,并且 asdasd 是有效域名,如果设置为搜索域(例如在本地网络上),然后可以使用一组简单的 strncmpstrchrstrstr 来纯粹检查字符串语法 命令

char *str = "http://abd.xxx";

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

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

或者,您可以使用正则表达式以及您从指向的python答案中获得的模式你自己

Baring the fact that http://... is not a domain name but a URL, and that asdasd is as valid domain name if setup as a search domain (such as on local net), then purely checking for the string syntax can be done with a simple set of strncmp, strchr and strstr commands

char *str = "http://abd.xxx";

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

This should check that the string starts with http:// AND that there is more after the http:// and that the more after that contains a dot -- if you also want to handle where the URL contains an actual path like http://expample.com/mypath.txt, then the example become more complex, but you didn't specify if that was needed.

Alternatively, you can use regex and the pattern which you have from the python answer you point to yourself

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文