Partilhar via


Classe CHttpConnection

Gerencia sua conexão com um servidor HTTP.

Sintaxe

class CHttpConnection : public CInternetConnection

Membros

Construtores públicos

Nome Descrição
CHttpConnection::CHttpConnection Cria um objeto CHttpConnection.

Métodos públicos

Nome Descrição
CHttpConnection::OpenRequest Abre uma solicitação HTTP.

Comentários

HTTP é um dos três protocolos de servidor da Internet implementados pelas classes WinInet do MFC.

A classe CHttpConnection contém um construtor e uma função membro, OpenRequest, que gerencia as conexões com um servidor com o protocolo HTTP.

Para se comunicar com um servidor HTTP, primeiro você precisa criar uma instância de CInternetSession e, então, criar um objeto CHttpConnection. Nunca crie um objeto CHttpConnection diretamente; em vez disso, chame CInternetSession::GetHttpConnection, que cria o objeto CHttpConnection e retorna um ponteiro para ele.

Para saber mais sobre como CHttpConnection funciona com as outras classes de Internet do MFC, confira o artigo Programação na Internet com o WinInet. Para saber mais sobre como se conectar a servidores usando os outros dois protocolos de Internet com suporte, gopher e FTP, consulte as classes CGopherConnection e CFtpConnection.

Hierarquia de herança

CObject

CInternetConnection

CHttpConnection

Requisitos

Cabeçalho: afxinet.h

CHttpConnection::CHttpConnection

Essa função membro é chamada para construir um objeto CHttpConnection.

CHttpConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

Parâmetros

pSession
Um ponteiro para um objeto CInternetSession.

hConnected
Um identificador para uma conexão com a Internet.

pstrServer
Um ponteiro para uma cadeia de caracteres contendo o nome do servidor.

dwContext
O identificador de contexto do objeto CInternetConnection. Para obter mais informações sobre dwContext, consulte a seção Comentários.

nPort
O número que identifica a porta da Internet dessa conexão.

pstrUserName
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do usuário a ser conectado. Se NULL, o padrão será anônimo.

pstrPassword
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a senha a ser usada para a conexão. Se pstrPassword e pstrUserName forem NULL, a senha anônima padrão será o nome de email do usuário. Se pstrPassword for NULL ou uma cadeia de caracteres vazia, mas pstrUserName não for NULL, uma senha em branco será usada. A seguinte tabela descreve o comportamento para as quatro configurações possíveis de pstrUserName e pstrPassword:

pstrUserName pstrPassword Nome de usuário enviado ao servidor FTP Senha enviada ao servidor FTP
NULL ou " " NULL ou " " "anonymous" Nome de email do usuário
Cadeia de caracteres não NULL NULL ou " " pstrUserName " "
NULO Cadeia de caracteres não NULL ERROR ERROR
Cadeia de caracteres não NULL Cadeia de caracteres não NULL pstrUserName pstrPassword

dwFlags
Qualquer combinação dos sinalizadores INTERNET_FLAG_*. Consulte a tabela na seção Comentários de CHttpConnection::OpenRequest para obter uma descrição dos valores de dwFlags.

Comentários

Nunca crie um CHttpConnection diretamente. Em vez disso, crie um objeto chamando CInternetSession::GetHttpConnection.

CHttpConnection::OpenRequest

Chame essa função membro para abrir uma conexão HTTP.

CHttpFile* OpenRequest(
    LPCTSTR pstrVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

CHttpFile* OpenRequest(
    int nVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

Parâmetros

pstrVerb
Um ponteiro para uma cadeia de caracteres que contém o verbo a ser usado na solicitação. Se NULL, "GET" será usado.

pstrObjectName
Um ponteiro para uma cadeia de caracteres que contém o objeto de destino do verbo especificado. Geralmente, essa cadeia de caracteres é um nome de arquivo, um módulo executável ou um especificador de pesquisa.

pstrReferer
Um ponteiro para uma cadeia de caracteres que especifica o endereço (URL) do documento do qual a URL na solicitação (pstrObjectName) foi obtida. Se NULL, nenhum cabeçalho HTTP será especificado.

dwContext
O identificador de contexto da operação OpenRequest. Para obter mais informações sobre dwContext, consulte a seção Comentários.

ppstrAcceptTypes
Um ponteiro para uma matriz terminada em nulo de ponteiros LPCTSTR para cadeias de caracteres que indicam os tipos de conteúdo aceitos pelo cliente. Se ppstrAcceptTypes for NULL, os servidores interpretarão que o cliente aceita apenas documentos do tipo "text/*" (ou seja, somente documentos de texto e não imagens nem outros arquivos binários). O tipo de conteúdo é equivalente à variável de CGI CONTENT_TYPE, que identifica o tipo de dados para consultas que têm informações anexadas, como HTTP POST e PUT.

pstrVersion
Um ponteiro para uma cadeia de caracteres que define a versão de HTTP. Se NULL, "HTTP/1.0" será usado.

dwFlags
Qualquer combinação de sinalizadores INTERNET_ FLAG_*. Consulte a seção Comentários para obter uma descrição dos possíveis valores de dwFlags.

nVerb
Um número associado ao tipo de solicitação HTTP. Um dos seguintes pode ser feito:

Tipo de solicitação HTTP Valor de nVerb
HTTP_VERB_POST 0
HTTP_VERB_GET 1
HTTP_VERB_HEAD 2
HTTP_VERB_PUT 3
HTTP_VERB_LINK 4
HTTP_VERB_DELETE 5
HTTP_VERB_UNLINK 6

Valor de retorno

Um ponteiro para o objeto CHttpFile solicitado.

Comentários

dwFlags pode ser um dos seguintes:

Sinalizador da Internet Descrição
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_DONT_CACHE Não adiciona a entidade retornada ao cache.
INTERNET_FLAG_MAKE_PERSISTENT Adiciona a entidade retornada ao cache como uma entidade persistente. Isso significa que a limpeza de cache, a verificação de consistência ou a coleta de lixo padrão não podem remover esse item do cache.
INTERNET_FLAG_SECURE Usa semântica de transação segura. Isso se traduz no uso de SSL/PCT e só é significativo em solicitações HTTP
INTERNET_FLAG_NO_AUTO_REDIRECT Usado somente com HTTP, especifica que redirecionamentos não devem ser tratados automaticamente em CHttpFile::SendRequest.

Substitua o padrão dwContext para definir o identificador de contexto como um valor de sua escolha. O identificador de contexto está associado a essa operação específica do objeto CHttpConnection criado por seu objeto CInternetSession. O valor é retornado para CInternetSession::OnStatusCallback para fornecer o status da operação com a qual é identificado. Confira o artigo Primeiras etapas da Internet: WinInet para mais informações sobre o identificador de contexto.

Exceções podem ser geradas com essa função.

Confira também

Classe CInternetConnection
Gráfico da hierarquia
Classe CInternetConnection
Classe CHttpFile