Função InternetOpenA (wininet.h)

Inicializa o uso de um aplicativo das funções WinINet.

Sintaxe

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

Parâmetros

[in] lpszAgent

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do aplicativo ou da entidade que chama as funções WinINet. Esse nome é usado como o agente de usuário no protocolo HTTP.

[in] dwAccessType

Tipo de acesso necessário. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
INTERNET_OPEN_TYPE_DIRECT
Resolve todos os nomes de host localmente.
INTERNET_OPEN_TYPE_PRECONFIG
Recupera o proxy ou a configuração direta do registro.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Recupera o proxy ou a configuração direta do registro e impede o uso de um arquivo de inicialização do Microsoft JScript ou da Configuração da Internet (INS).
INTERNET_OPEN_TYPE_PROXY
Passa solicitações para o proxy, a menos que uma lista de bypass de proxy seja fornecida e o nome a ser resolvido ignore o proxy. Nesse caso, a função usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome dos servidores proxy a serem usados quando o acesso de proxy for especificado definindo dwAccessType como INTERNET_OPEN_TYPE_PROXY. Não use uma cadeia de caracteres vazia, pois InternetOpen a usará como o nome do proxy. As funções WinINet reconhecem apenas proxies de tipo CERN (somente HTTP) e o gateway FTP do TIS (somente FTP). Se o Microsoft Internet Explorer estiver instalado, essas funções também darão suporte a proxies SOCKS. As solicitações FTP podem ser feitas por meio de um proxy de tipo CERN alterando-as para uma solicitação HTTP ou usando InternetOpenUrl. Se dwAccessType não estiver definido como INTERNET_OPEN_TYPE_PROXY, esse parâmetro será ignorado e deverá ser NULL. Para obter mais informações sobre como listar servidores proxy, consulte a seção Listagem de Servidores Proxy de Habilitação da Funcionalidade da Internet.

[in] lpszProxyBypass

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica uma lista opcional de nomes de host ou endereços IP, ou ambos, que não devem ser roteados por meio do proxy quando dwAccessType é definido como INTERNET_OPEN_TYPE_PROXY. A lista pode conter curingas. Não use uma cadeia de caracteres vazia, pois o InternetOpen a usará como a lista de bypass de proxy. Se esse parâmetro especificar a macro "<local>", a função ignorará o proxy para qualquer nome de host que não contenha um período.

Por padrão, o WinINet ignorará o proxy para solicitações que usam os nomes de host "localhost", "loopback", "127.0.0.1" ou "[::1]". Esse comportamento existe porque um servidor proxy remoto normalmente não resolve esses endereços corretamente.Internet Explorer 9: você pode remover o computador local da lista de bypass de proxy usando a macro "<-loopback>".

Se dwAccessType não estiver definido como INTERNET_OPEN_TYPE_PROXY, esse parâmetro será ignorado e deverá ser NULL.

[in] dwFlags

Opções. Esse parâmetro pode ser uma combinação dos seguintes valores.

Valor Significado
INTERNET_FLAG_ASYNC
Faz apenas solicitações assíncronas em identificadores decrescentes do identificador retornado dessa função.
INTERNET_FLAG_FROM_CACHE
Não faz solicitações de rede. Todas as entidades são retornadas do cache. Se o item solicitado não estiver no cache, um erro adequado, como ERROR_FILE_NOT_FOUND, será retornado.
INTERNET_FLAG_OFFLINE
Idêntico a INTERNET_FLAG_FROM_CACHE. Não faz solicitações de rede. Todas as entidades são retornadas do cache. Se o item solicitado não estiver no cache, um erro adequado, como ERROR_FILE_NOT_FOUND, será retornado.

Retornar valor

Retorna um identificador válido que o aplicativo passa para funções WinINet subsequentes. Se InternetOpen falhar, ele retornará NULL. Para recuperar uma mensagem de erro específica, chame GetLastError.

Comentários

InternetOpen é a primeira função WinINet chamada por um aplicativo. Ele informa à DLL da Internet para inicializar estruturas de dados internas e se preparar para chamadas futuras do aplicativo. Quando o aplicativo terminar de usar as funções da Internet, ele deverá chamar InternetCloseHandle para liberar o identificador e todos os recursos associados.

O aplicativo pode fazer qualquer número de chamadas para InternetOpen, embora uma única chamada normalmente seja suficiente. O aplicativo pode precisar definir comportamentos separados para cada instância internetOpen , como servidores proxy diferentes configurados para cada uma.

Depois que o aplicativo de chamada terminar de usar o identificador HINTERNET retornado pelo InternetOpen, ele deverá ser fechado usando a função InternetCloseHandle .

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro do DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações ou serviços de servidor, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define InternetOpen como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Habilitando a funcionalidade da Internet

Funções WinINet