Compartilhar via


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 um cadeia de caracteresterminada nula que especifica o nome do aplicativo ou entidade que chama as funções WinINet. Esse nome é usado como o agente do usuário no protocolo HTTP.

[in] dwAccessType

Tipo de acesso necessário. Esse parâmetro pode ser 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 Instalaçã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 um cadeia de caracteres terminada pornulo que especifica o nome dos servidores proxy a serem usados quando o acesso de proxy for especificado definindo dwAccessType para 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 Habilitandode Funcionalidade da Internet.

[in] lpszProxyBypass

Ponteiro para um cadeia de caracteresterminada nula 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 está definido como INTERNET_OPEN_TYPE_PROXY. A lista pode conter curingas. Não use uma cadeia de caracteres vazia, pois 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 resolverá 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 valores a seguir.

Valor Significado
INTERNET_FLAG_ASYNC
Faz apenas solicitações assíncronas em alças 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.

Valor de retorno

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

Observações

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 quaisquer 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 do InternetOpen, como servidores proxy diferentes configurados para cada um.

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

Assim 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.

Observaçã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 do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

habilitando de funcionalidade da Internet

do WinINet Functions