cpp проверяет, является ли строка допустимым доменным именем? - PullRequest
2 голосов
/ 17 августа 2011

как упоминалось в заголовке, есть ли быстрый способ сделать это? Мне не нужен твердый раствор, все, что может дифференцироваться, например:

http://asdasd/

не является допустимым доменным именем, где

http://asd.asdasd.asd

является допустимым доменным именем.

Я пытался найти решение, наиболее близкое (простое) решение это: в python

Но это для Python, мне нужно сделать на C ++. Любая помощь?

Можно ли это сделать, используя только «манипуляции со строками»? Как, подстрока?

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Если принять во внимание тот факт, что http://... является не доменным именем, а URL-адресом, а asdasd является в качестве действительного имени домена, если его настроить в качестве поискового домена (например, в локальной сети), то Чистая проверка синтаксиса строки может быть выполнена с помощью простого набора команд strncmp, strchr и strstr

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

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

Это должно проверить, что строка начинается с http: // И что после http: // есть еще что-то и что больше после этого содержит точку - если вы также хотите обработать, где URL содержит фактический путь как http://expample.com/mypath.txt, тогда пример становится более сложным, но вы не указали, нужно ли это.

В качестве альтернативы, вы можете использовать регулярное выражение , и шаблон, который вы получите из ответа питона, указывает на себя

0 голосов
/ 17 августа 2011

Я считаю, что это можно сделать с помощью libcurl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...