Partilhar via


WinInet vs. WinHTTP

Com algumas exceções, WinININet é um superconjunto de WinHTTP. Ao escolher entre os dois, você deve usar o WinINet , a menos que planeje executar um serviço ou um processo semelhante a um serviço que requeira representação e isolamento de sessão.

Comparação de recursos

Recurso WinINet WinHTTP
Cache de credenciais. Permite que todos os aplicativos internos do Windows Internet Explorer obtenham credenciais automaticamente. Também permite que um aplicativo executado fora do Internet Explorer solicite/especifique as credenciais para o servidor apenas uma vez. A partir daí, as solicitações serão automáticas. sim não
Solicitação de credenciais. Fornece uma API que permite que o código chamado solicite as credenciais ao usuário. sim não
FTP sim não
Suporte para discagem automática/RAS. Essa é uma funcionalidade herdada. Em vez disso, use Acesso Remoto. sim não
Zonas. Integração automática com as zonas de segurança do Internet Explorer. sim não
Suporte para IDNA. Suporte integrado para IDNA RFC/Punycode. sim sim
APIs de Cookie Jar. Há suporte para cookies persistentes e não persistentes. Qualquer aplicativo ou script pode usar isso para ver os mesmos cookies que o navegador. sim não
Suporte ao modo protegido do IE sim não
Suporte à descompressão. Suporte para os esquemas de compactação gzip e deflate. sim sim
Suporte para upload em partes. O código do cliente deve executar a divisão em partes. não sim
Suporte para SOCKS4 (SOCKS versão 4). Não inclui a v4a. sim não
Suporte para SOCKS5 (SOCKS versão 5) não não
Envio e recebimento bidirecional não não
E/S sobreposta não não
Suporte para o esquema de arquivo. Útil para scripts de proxy com um esquema de arquivo. sim não
InternetOpenUrl. Código simplificado para abrir uma URL. sim não
Suporte a serviços. Pode ser executado a partir de um serviço ou de uma conta de serviço. não sim
Isolamento de sessão. Sessões separadas não afetam umas às outras. não sim
Representação. Tem suporte para ser chamado enquanto o thread estiver representando um usuário diferente. não sim