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 |