⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 url.c

📁 windows mobile上面实现的http协议
💻 C
字号:
#include <string.h>
#include "url.h"
#define STRSET(d,s,l) strncpy(d,s,l); d[l] = 0

int url_parse(const char *url, TUrl * pUrl )
{
	const char * p;
	int len;
	pUrl->type = pUrl->host = pUrl->data;
	pUrl->file = NULL;
	pUrl->port = 80;

	p = strstr(url, "://");
	if (p) 
	{
		len = p - url;
		STRSET(pUrl->type, url, len);
		url = p + 3;	//url = 主机
		++len;
	}
	else {
		strcpy(pUrl->data, "HTTP");
		len = strlen(pUrl->type);
		++len;
	}
	pUrl->host += len;
	p = strchr(url, '/');
	if (p)
	{
		len = p - url;
		STRSET(pUrl->host, url, len);
		++len;
		url = p;	//url = 资源部分

		p = strchr(pUrl->host, ':');
		if (p) 
		{
			*(char*)p = 0;
			pUrl->port = atoi( ++p );
			pUrl->file = (char*)p;
		}		
		else
		{
			pUrl->file = pUrl->host + len;
		}
	}
	else 
	{
		return -1;
	}

	len = strlen(url);
	STRSET(pUrl->file, url, len);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -