URL_COMPONENTS结构 (winhttp.h)

URL_COMPONENTS 结构包含 URL 的组成部分。 此结构与 WinHttpCrackUrlWinHttpCreateUrl 函数一起使用。

语法

typedef struct _WINHTTP_URL_COMPONENTS {
  DWORD           dwStructSize;
  LPWSTR          lpszScheme;
  DWORD           dwSchemeLength;
  INTERNET_SCHEME nScheme;
  LPWSTR          lpszHostName;
  DWORD           dwHostNameLength;
  INTERNET_PORT   nPort;
  LPWSTR          lpszUserName;
  DWORD           dwUserNameLength;
  LPWSTR          lpszPassword;
  DWORD           dwPasswordLength;
  LPWSTR          lpszUrlPath;
  DWORD           dwUrlPathLength;
  LPWSTR          lpszExtraInfo;
  DWORD           dwExtraInfoLength;
} URL_COMPONENTS, *LPURL_COMPONENTS;

成员

dwStructSize

此结构的大小(以字节为单位)。 用于版本检查。 必须设置此结构的大小才能正确初始化此结构。

lpszScheme

指向包含方案名称的字符串值的指针。

dwSchemeLength

方案名称的长度(以字符为单位)。

nScheme

Internet 协议方案。 此成员可以是以下值之一。

含义
INTERNET_SCHEME_HTTP
1
Internet 方案是 HTTP 协议。 有关详细信息,请参阅 RFC 2616
INTERNET_SCHEME_HTTPS
2
Internet 方案 HTTPS 是使用安全事务语义的 HTTP 协议。

lpszHostName

指向包含主机名的字符串值的指针。

dwHostNameLength

主机名的长度(以字符为单位)。

nPort

端口号。

lpszUserName

指向包含用户名的字符串的指针。

dwUserNameLength

用户名的长度(以字符为单位)。

lpszPassword

指向包含密码的字符串的指针。

dwPasswordLength

密码的长度(以字符为单位)。

lpszUrlPath

指向包含 URL 路径的字符串的指针。

dwUrlPathLength

URL 路径的长度(以字符为单位)。

lpszExtraInfo

指向包含额外信息的字符串值的指针,例如?something 或 #something。

dwExtraInfoLength

包含额外信息长度的无符号长整型值(以字符为单位)。

注解

对于 WinHttpCrackUrl 函数,如果指针成员及其相应的长度成员均为零,则不返回 URL 的该组件。 如果指针成员为 NULL ,但长度成员不为零,则同时返回指针成员和长度成员。 如果指针和相应的长度成员均为非零值,则指针成员指向复制组件的缓冲区。 可以从组件中删除所有转义序列,具体取决于 WinHttpCrackUrldwFlags 参数。

对于 WinHttpCreateUrl 函数,如果不需要 URL 的组件,指针成员应为 NULL 。 如果相应的长度成员为零,则指针成员是指向以零结尾的字符串的指针。 如果长度成员不为零,则为相应指针成员的字符串长度。

注意 对于 Windows XP 和 Windows 2000,请参阅 WinHttp 起始页的 运行时要求 部分。
 

要求

   
最低受支持的客户端 Windows XP、Windows 2000 Professional SP3 [仅限桌面应用]
最低受支持的服务器 Windows Server 2003、Windows 2000 Server SP3 [仅限桌面应用]
标头 winhttp.h
可再发行组件 Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更高版本。

另请参阅

WinHTTP 版本