最近需要用到解析一个URL的合法性,找了半天发现C语言没有解析URL的库函数,
那么只好自己去写了。
在网上找了一段代码,非常好,亲测有效,特来分享!
转载地址:https://www.oschina.net/code/snippet_656503_12501
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAXN 1024+10
char url [MAXN] = "http://www.google.com:80/wiki/Search?search=train&go=Go#steammachine";
int main()
{
const char *parseptr1;
const char *parseptr2;
int len;
int i;
parseptr2 = url;
parseptr1 = strchr(parseptr2, ':');
if ( NULL == parseptr1 ) {
printf("URL错误!\n");
return 0;
}
len = parseptr1 - parseptr2;
for ( i = 0; i < len; i++ ) {
if ( !isalpha(parseptr2[i]) ) {
printf("URL错误!\n");
return