📄 urlparser.h
字号:
#ifndef __URL_PARSER_H_FILE__
#define __URL_PARSER_H_FILE__
#ifdef WIN32
#pragma warning(disable:4786)
#endif
#include <string>
#include <map>
#include "OSHeaders.h"
using namespace std;
class CUrlParser
{
public:
CUrlParser()
{
m_nPort = 0;
}
CUrlParser(const CUrlParser &other)
{
*this = other;
}
CUrlParser& operator = (const CUrlParser &other);
Bool ParserUrl(const string &strUrl);
Bool EncodeUrl();
Bool DecodeUrl();
string GetUrl() { return m_strUrl; }
string GetProtocolName() { return m_strProtocolName; }
string GetHostName() { return m_strHostName; }
UInt16 Getport() { return m_nPort; }
string GetPath() { return m_strPath; }
string GetFullPath() { return m_strFullPath; }
string GetFilename() { return m_strFilename; }
string GetExtName();
string GetExtInfo() { return m_strExtInfo; }
//提取扩展域(?xxx=aaa&&yyy=bbb)
string operator[](const string &strExtendKey);
private:
UInt16 GetDefaultPort(const string &strProtocol);
void Tolower(string &ioStr);
void ParseExtraInfo();
private:
string m_strUrl; //原始URL
string m_strProtocolName; //协议名称
string m_strHostName; //主机名, 域名或者IP
UInt16 m_nPort; //端口, 如果URL中没有显式标明则为协议的默认端口
string m_strPath; //路径, 包含文件名
string m_strFullPath; //本地全路径, 与本地的Movies目录设置有关
string m_strFilename; //文件名, 不包含路径
string m_strExtInfo; //附加信息, 一般为问号之后的内容
map<string, string> m_mapDictionary; //存放各域的值
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -