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 um cadeia de caracteresterminada nula 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 um cadeia de caracteresterminada nula 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 um cadeia de caracteresterminada nula que contém a versão HTTP a ser usada na solicitação. As configurações no Internet Explorer substituirão o valor especificado neste 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 do Internet Explorer.
Valor | Significado |
---|---|
|
HTTP versão 1.0 |
|
HTTP versão 1.1 |
[in] lpszReferrer
Um ponteiro para um cadeia de caracteresterminada nula 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 um matriz nulade cadeias de caracteres que indica os tipos de mídia aceitos pelo cliente. Aqui está um exemplo.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Falha ao encerrar 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 de Internet. Esse parâmetro pode ser qualquer um dos valores a seguir.
[in] dwContext
Um ponteiro para uma variável que contém o valor definido pelo aplicativo que associa essa operação a qualquer dado do aplicativo.
Valor de retorno
Retorna um identificador de solicitação HTTP se tiver êxito ou NULL caso contrário. Para recuperar informações de erro estendidas, chame GetLastError.
Observações
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 o Microsoft Internet Explorer 5 e posterior, se lpszVerb estiver definido como "HEAD", o cabeçalho Comprimento do Conteúdo 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 do Internet Explorer. O EnableHttp1_1 é um valor de registro em HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE controlado pelas Opções de Internet definidas no Internet Explorer para o sistema. O valor de EnableHttp1_1 padrão é 1. A função HttpOpenRequest atualizará qualquer versão HTTP menor que 1.1 para HTTP versão 1.1 se EnableHttp1_1 estiver definida 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.
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.
Nota
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 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
do