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