InternetOpenA 函数 (wininet.h)
初始化应用程序的 WinINet 函数的使用。
语法
HINTERNET InternetOpenA(
[in] LPCSTR lpszAgent,
[in] DWORD dwAccessType,
[in] LPCSTR lpszProxy,
[in] LPCSTR lpszProxyBypass,
[in] DWORD dwFlags
);
参数
[in] lpszAgent
指向 null终止字符串的指针,该字符串指定调用 WinINet 函数的应用程序或实体的名称。 此名称用作 HTTP 协议中的用户代理。
[in] dwAccessType
所需的访问类型。 此参数可以是下列值之一。
价值 | 意义 |
---|---|
|
在本地解析所有主机名。 |
|
从注册表检索代理或直接配置。 |
|
从注册表检索代理或直接配置,并阻止使用启动Microsoft JScript 或 Internet 安装程序 (INS) 文件。 |
|
除非提供了代理旁路列表,否则将请求传递给代理,并且要解析的名称将绕过代理。 在本例中,函数使用 INTERNET_OPEN_TYPE_DIRECT。 |
[in] lpszProxy
指向
[in] lpszProxyBypass
指向 null-terminated 字符串的指针,该字符串指定主机名或 IP 地址的可选列表,当 dwAccessType 设置为 INTERNET_OPEN_TYPE_PROXY时,不应通过代理路由。 该列表可以包含通配符。 请勿使用空字符串,因为 InternetOpen 会将其用作代理绕过列表。 如果此参数指定“<本地>”宏,该函数将绕过不包含句点的任何主机名的代理。
默认情况下,WinINet 将绕过使用主机名“localhost”、“loopback”、“127.0.0.1”或“[::1]”的请求的代理。 此行为存在,因为远程代理服务器通常无法正确解析这些地址。Internet Explorer 9:可以使用“<-loopback>”宏从代理旁路列表中删除本地计算机。
如果 dwAccessType 未设置为 INTERNET_OPEN_TYPE_PROXY,则忽略此参数,应 NULL。
[in] dwFlags
选项。 此参数可以是以下值的组合。
价值 | 意义 |
---|---|
|
仅对从此函数返回的句柄降序的句柄发出异步请求。 |
|
不发出网络请求。 所有实体都从缓存返回。 如果请求的项不在缓存中,则返回适当的错误,例如ERROR_FILE_NOT_FOUND。 |
|
与 INTERNET_FLAG_FROM_CACHE相同。 不发出网络请求。 所有实体都从缓存返回。 如果请求的项不在缓存中,则返回适当的错误,例如ERROR_FILE_NOT_FOUND。 |
返回值
返回应用程序传递给后续 WinINet 函数的有效句柄。 如果 internetOpen
言论
InternetOpen 是应用程序调用的第一个 WinINet 函数。 它告知 Internet DLL 初始化内部数据结构,并准备从应用程序进行将来的调用。 当应用程序使用 Internet 函数完成后,它应调用 InternetCloseHandle 来释放句柄和任何关联的资源。
应用程序可以任意数量的调用 InternetOpen,尽管单个调用通常足够。 应用程序可能需要为每个 InternetOpen 实例定义单独的行为,例如为每个实例配置的不同代理服务器。
调用应用程序使用 InternetOpen返回的 HINTERNET 句柄后,必须使用 InternetCloseHandle 函数将其关闭。
与 WinINet API 的其他所有方面一样,不能从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。
注意
wininet.h 标头将 InternetOpen 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wininet.h |
库 | Wininet.lib |
DLL | Wininet.dll |