Função InternetOpenUrlA (wininet.h)

Abre um recurso especificado por uma URL FTP ou HTTP completa.

Sintaxe

HINTERNET InternetOpenUrlA(
  [in] HINTERNET hInternet,
  [in] LPCSTR    lpszUrl,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parâmetros

[in] hInternet

O identificador para a sessão atual da Internet. O identificador deve ter sido retornado por uma chamada anterior para InternetOpen.

[in] lpszUrl

Um ponteiro para uma variável de cadeia de caracteres terminada em nulo que especifica a URL a ser iniciada a leitura. Há suporte apenas para URLs que começam com ftp:, http:ou https.

[in] lpszHeaders

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica os cabeçalhos a serem enviados ao servidor HTTP. Para obter mais informações, consulte a descrição do parâmetro lpszHeaders na função HttpSendRequest .

[in] dwHeadersLength

O tamanho dos cabeçalhos adicionais, em TCHARs. Se esse parâmetro for -1L e lpszHeaders não for NULL, lpszHeaders será considerado como ASCIIZ (terminação zero) e o comprimento será calculado.

[in] dwFlags

Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
INTERNET_FLAG_EXISTING_CONNECT
Tenta usar um objeto InternetConnect existente se houver um com os mesmos atributos necessários para fazer a solicitação. Isso é útil apenas com operações FTP, pois o FTP é o único protocolo que normalmente executa várias operações durante a mesma sessão. A API WinINet armazena em cache um único identificador de conexão para cada identificador HINTERNET gerado pela InternetOpen. InternetOpenUrl usa esse sinalizador para conexões HTTP e FTP.
INTERNET_FLAG_HYPERLINK
Força um recarregamento se não houver tempo expirado e nenhum tempo LastModified retornado do servidor ao determinar se o item deve ser recarregado da rede.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
Desabilita a verificação de certificados baseados em SSL/PCT que são retornados do servidor em relação ao nome do host fornecido na solicitação. As funções WinINet usam uma marcar simples em relação a certificados comparando nomes de host correspondentes e regras de curinga simples.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
Desabilita a verificação de certificados baseados em SSL/PCT para datas de validade adequadas.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
Desabilita a detecção desse tipo especial de redirecionamento. Quando esse sinalizador é usado, o WinINet permite redirecionamentos de HTTPS para URLs HTTP de forma transparente.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Desabilita a detecção desse tipo especial de redirecionamento. Quando esse sinalizador é usado, o WinINet permite redirecionamentos de HTTP para URLs HTTPS.
INTERNET_FLAG_KEEP_CONNECTION
Usa semântica keep alive, se disponível, para a conexão. Esse sinalizador é necessário para MSN (Microsoft Network), NTLM e outros tipos de autenticação.
INTERNET_FLAG_NEED_FILE
Faz com que um arquivo temporário seja criado se o arquivo não puder ser armazenado em cache.
INTERNET_FLAG_NO_AUTH
Não tenta a autenticação automaticamente.
INTERNET_FLAG_NO_AUTO_REDIRECT
Não manipula automaticamente o redirecionamento em HttpSendRequest.
INTERNET_FLAG_NO_CACHE_WRITE
Não adiciona a entidade retornada ao cache.
INTERNET_FLAG_NO_COOKIES
Não adiciona automaticamente cabeçalhos de cookie a solicitações e não adiciona automaticamente cookies retornados ao banco de dados de cookie.
INTERNET_FLAG_NO_UI
Desabilita a caixa de diálogo de cookie.
INTERNET_FLAG_PASSIVE
Usa semântica FTP passiva. InternetOpenUrl usa esse sinalizador para arquivos e diretórios FTP.
INTERNET_FLAG_PRAGMA_NOCACHE
Força a solicitação a ser resolvida pelo servidor de origem, mesmo que exista uma cópia armazenada em cache no proxy.
INTERNET_FLAG_RAW_DATA
Retorna os dados como uma estrutura WIN32_FIND_DATA ao recuperar informações de diretório FTP. Se esse sinalizador não for especificado ou se a chamada tiver sido feita por meio de um proxy CERN, InternetOpenUrl retornará a versão HTML do diretório.

Windows XP e Windows Server 2003 R2 e versões anteriores: Também retorna dados como uma estrutura GOPHER_FIND_DATA ao recuperar informações do diretório Gopher.

INTERNET_FLAG_RELOAD
Força um download do arquivo, objeto ou listagem de diretório solicitado do servidor de origem, não do cache.
INTERNET_FLAG_RESYNCHRONIZE
Recarrega recursos HTTP se o recurso tiver sido modificado desde a última vez em que foi baixado. Todos os recursos de FTP são recarregados.

Windows XP e Windows Server 2003 R2 e versões anteriores: Os recursos gopher também são recarregados.

INTERNET_FLAG_SECURE
Usa semântica de transação segura. Isso se traduz no uso da SSL/PCT (Secure Sockets Layer/Private Communications Technology) e só é significativo em solicitações HTTP.

[in] dwContext

Um ponteiro para uma variável que especifica o valor definido pelo aplicativo que é passado, juntamente com o identificador retornado, para qualquer função de retorno de chamada.

Retornar valor

Retorna um identificador válido para a URL se a conexão for estabelecida com êxito ou NULL se a conexão falhar. Para recuperar uma mensagem de erro específica, chame GetLastError. Para determinar por que o acesso ao serviço foi negado, chame InternetGetLastResponseInfo.

Comentários

Chame InternetCanonicalizeUrl primeiro se a URL que está sendo usada contiver uma URL relativa e uma URL base separada por espaços em branco.

Essa é uma função geral que um aplicativo pode usar para recuperar dados em qualquer um dos protocolos compatíveis com WinINet. Essa função é especialmente útil quando o aplicativo não precisa acessar as particularidades de um protocolo, mas requer apenas os dados correspondentes a uma URL. A função InternetOpenUrl analisa a cadeia de caracteres de URL, estabelece uma conexão com o servidor e se prepara para baixar os dados identificados pela URL. Em seguida, o aplicativo pode usar InternetReadFile (para arquivos) ou InternetFindNextFile (para diretórios) para recuperar os dados de URL. Não é necessário chamar InternetConnect antes de InternetOpenUrl.

Windows XP e Windows Server 2003 R2 e versões anteriores: InternetOpenUrl desabilita o Gopher em portas menores que 1024, exceto pela porta 70 — a porta Gopher padrão — e a porta 105 — normalmente usada para pesquisas de nomes da CSO (Central Services Organization).

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

Nota Ao trabalhar no modo assíncrono (o parâmetro dwFlags de InternetOpen especifica INTERNET_FLAG_ASYNC) e o parâmetro dwContext é zero (INTERNET_NO_CALLBACK), a função de retorno de chamada definida com InternetSetStatusCallback no identificador de sessão não será invocada, no entanto, a chamada ainda será executada no modo assíncrono

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de 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 de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define InternetOpenUrl 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

Manipulando localizadores de recursos uniformes

Funções WinINet