Compartilhar via


Função InternetOpenUrlW (wininet.h)

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

Sintaxe

HINTERNET InternetOpenUrlW(
  [in] HINTERNET hInternet,
  [in] LPCWSTR   lpszUrl,
  [in] LPCWSTR   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 um variável de cadeia de caracteresterminada nula que especifica a URL a ser iniciada. Há suporte apenas para URLs que começam com ftp:, http:ou https.

[in] lpszHeaders

Um ponteiro para um cadeia de caracteresterminada nula que especifica os cabeçalhos a serem enviados para o 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 estiver NULL, lpszHeaders será considerado como ASCIIZ (terminação zero) e o comprimento será calculado.

[in] dwFlags

Esse parâmetro pode ser 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 somente com operações FTP, já que 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 por 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 verificação simples em relação aos certificados comparando nomes de host correspondentes e regras simples de curinga.
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 de forma transparente redirecionamentos de HTTPS para URLs HTTP.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Desabilita a detecção desse tipo especial de redirecionamento. Quando esse sinalizador é usado, o WinINet permite de forma transparente redirecionamentos de URLs HTTP para 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 cabeçalhos de cookie automaticamente às 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 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 do 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 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 da listagem de arquivo, objeto ou 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 FTP são recarregados.

Windows XP e Windows Server 2003 R2 e anteriores: recursos do 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 quaisquer funções de retorno de chamada.

Valor de retorno

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.

Observações

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 anteriores: InternetOpenUrl desabilita o Gopher em portas menores que 1024, exceto a porta 70, a porta Padrão gopher e a porta 105, normalmente usada para pesquisas de nome da Organização dos Serviços Centrais (CSO).

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

Observação 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á invocado, no entanto, a chamada ainda será executada no modo assíncrono

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 InternetOpenUrl 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

tratando de recursos uniformes

do WinINet Functions