Função HttpOpenRequestA (wininet.h)
Cria um identificador de solicitação HTTP.
Sintaxe
HINTERNET HttpOpenRequestA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszVerb,
[in] LPCSTR lpszObjectName,
[in] LPCSTR lpszVersion,
[in] LPCSTR lpszReferrer,
[in] LPCSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Parâmetros
[in] hConnect
Um identificador para uma sessão HTTP retornada por InternetConnect.
[in] lpszVerb
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o verbo HTTP a ser usado na solicitação. Se esse parâmetro for NULL, a função usará GET como o verbo HTTP.
[in] lpszObjectName
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do objeto de destino do verbo HTTP especificado. Geralmente, esse é um nome de arquivo, um módulo executável ou um especificador de pesquisa.
[in] lpszVersion
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém a versão HTTP a ser usada na solicitação. As configurações no Explorer da Internet substituirão o valor especificado nesse parâmetro.
Se esse parâmetro for NULL, a função usará uma versão HTTP de 1.1 ou 1.0, dependendo do valor das configurações de Explorer da Internet.
Valor | Significado |
---|---|
|
HTTP versão 1.0 |
|
HTTP versão 1.1 |
[in] lpszReferrer
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a URL do documento do qual a URL na solicitação (lpszObjectName) foi obtida. Se esse parâmetro for NULL, nenhum referenciador será especificado.
[in] lplpszAcceptTypes
Um ponteiro para uma matriz terminada em nulo de cadeias de caracteres que indica os tipos de mídia aceitos pelo cliente. Veja um exemplo.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Falha ao terminar corretamente a matriz com um ponteiro NULL causará uma falha.
Se esse parâmetro for NULL, nenhum tipo será aceito pelo cliente. Os servidores geralmente interpretam a falta de tipos de aceitação para indicar que o cliente aceita apenas documentos do tipo "text/*" (ou seja, somente documentos de texto— sem imagens ou outros arquivos binários).
[in] dwFlags
Opções da Internet. Esse parâmetro pode ser qualquer um dos valores a seguir.
Valor | Significado |
---|---|
|
Retorna o recurso do cache se a solicitação de rede para o recurso falhar devido a um ERROR_INTERNET_CONNECTION_RESET (a conexão com o servidor foi redefinida) ou ERROR_INTERNET_CANNOT_CONNECT (falha na tentativa de conexão com o servidor). |
|
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. |
|
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. |
|
Desabilita a verificação de certificados baseados em SSL/PCT para datas de validade adequadas. |
|
Desabilita a detecção desse tipo especial de redirecionamento. Quando esse sinalizador é usado, as funções WinINet permitem redirecionamentos de HTTPS para URLs HTTP de forma transparente. |
|
Desabilita a detecção desse tipo especial de redirecionamento. Quando esse sinalizador é usado, as funções WinINet permitem redirecionamentos de HTTP para URLs HTTPS. |
|
Usa semântica keep alive, se disponível, para a conexão. Esse sinalizador é necessário para o MSN (Microsoft Network), o NTLM (NT LAN Manager) e outros tipos de autenticação. |
|
Faz com que um arquivo temporário seja criado se o arquivo não puder ser armazenado em cache. |
|
Não tenta a autenticação automaticamente. |
|
Não manipula automaticamente o redirecionamento em HttpSendRequest. |
|
Não adiciona a entidade retornada ao cache. |
|
Não adiciona automaticamente cabeçalhos de cookie a solicitações e não adiciona automaticamente cookies retornados ao banco de dados de cookie. |
|
Desabilita a caixa de diálogo de cookie. |
|
Força a solicitação a ser resolvida pelo servidor de origem, mesmo que exista uma cópia armazenada em cache no proxy. |
|
Força um download do arquivo, objeto ou listagem de diretório solicitado do servidor de origem, não do cache. |
|
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. |
|
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 contém o valor definido pelo aplicativo que associa essa operação a todos os dados do aplicativo.
Valor retornado
Retorna um identificador de solicitação HTTP se tiver êxito ou NULL caso contrário. Para recuperar informações de erro estendidas, chame GetLastError.
Comentários
A função HttpOpenRequest cria um novo identificador de solicitação HTTP e armazena os parâmetros especificados nesse identificador. Um identificador de solicitação HTTP contém uma solicitação a ser enviada a um servidor HTTP e contém todos os cabeçalhos RFC822/MIME/HTTP a serem enviados como parte da solicitação.
Se um verbo diferente de "GET" ou "POST" for especificado, HttpOpenRequest definirá automaticamente INTERNET_FLAG_NO_CACHE_WRITE e INTERNET_FLAG_RELOAD para a solicitação.
Com a Internet da Microsoft Explorer 5 e posterior, se lpszVerb estiver definido como "HEAD", o cabeçalho Content-Length será ignorado em respostas de servidores HTTP/1.1.
No Windows 7, Windows Server 2008 R2 e posterior, o parâmetro lpszVersion é substituído pelas configurações de Explorer da Internet. O EnableHttp1_1 é um valor do Registro em HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE controlado pelas Opções da Internet definidas na Internet Explorer para o sistema. O valor EnableHttp1_1 é padronizado como 1. A função HttpOpenRequest atualizará qualquer versão HTTP menor que 1.1 para HTTP versão 1.1 se EnableHttp1_1 estiver definido como 1.
Depois que o aplicativo de chamada terminar de usar o identificador HINTERNET retornado por HttpOpenRequest, ele deverá ser fechado usando a função InternetCloseHandle .
Nota Quando uma solicitação é enviada 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 solicitaçã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.
Observação
O cabeçalho wininet.h define HttpOpenRequest 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
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 |