Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Gere a sua ligação a um servidor HTTP.
Sintaxe
class CHttpConnection : public CInternetConnection
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CHttpConnection::CHttpConnection | Cria um CHttpConnection objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CHttpConnection::OpenRequest | Abre um pedido HTTP. |
Observações
HTTP é um dos três protocolos de servidor de Internet implementados pelas classes MFC WinInet.
A classe CHttpConnection contém um construtor e uma função membro, OpenRequest, que gere ligações a um servidor com um protocolo HTTP.
Para comunicar com um servidor HTTP, deve primeiro criar uma instância de CInternetSession e depois criar um objeto CHttpConnection . Nunca crias um CHttpConnection objeto diretamente; em vez disso, chamas CInternetSession::GetHttpConnection, que cria o CHttpConnection objeto e devolve um ponteiro para ele.
Para saber mais sobre como CHttpConnection funciona com as outras aulas de Internet do MFC, consulte o artigo Programação da Internet com WinInet. Para mais informações sobre ligação a servidores usando os outros dois protocolos de Internet suportados, gopher e FTP, consulte as classes CGopherConnection e CFtpConnection.
Hierarquia de herança
CHttpConnection
Requerimentos
Cabeçalho: afxinet.h
CHttpConnection::CHttpConnection
Esta função membro é chamada para construir um CHttpConnection objeto.
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 .
hLigado
Um handle para uma ligação à Internet.
pstrServer
Um ponteiro para uma string contendo o nome do servidor.
dwContext
O identificador de contexto para o CInternetConnection objeto. Para mais informações sobre dwContext, consulte a secção de Observações .
nPort
O número que identifica a porta de Internet para esta ligação.
pstrUserName
Apontador para uma cadeia terminada por null que especifica o nome do utilizador a iniciar sessão. Se for NULL, o padrão é anónimo.
pstrPassword
Um ponteiro para uma cadeia terminada por null que especifica a palavra-passe a usar para iniciar sessão. Se tanto pstrPassword como pstrUserName forem NULL, a palavra-passe anónima padrão é o nome de email do utilizador. Se pstrPassword for NULL ou uma cadeia vazia, mas pstrUserName não for NULL, é usada uma palavra-passe em branco. A tabela seguinte descreve o comportamento para as quatro possíveis definições de pstrUserName e pstrPassword:
| pstrUserName | pstrPassword | Nome de utilizador enviado para o servidor FTP | Palavra-passe enviada para o servidor FTP |
|---|---|---|---|
| NULL ou " " | NULL ou " " | "anónimo" | Nome do email do utilizador |
| Cadeia não-NULL | NULL ou " " | pstrUserName | " " |
| NULO | Cadeia não-NULL | ERROR | ERROR |
| Cadeia não-NULL | Cadeia não-NULL | pstrUserName | pstrPassword |
dwBandeiras
Qualquer combinação das INTERNET_FLAG_* bandeiras. Consulte a tabela na secção de Observações do CHttpConnection::OpenRequest para uma descrição dos valores de dwFlags .
Observações
Nunca se cria um CHttpConnection direto. Em vez disso, cria um objeto chamando CInternetSession::GetHttpConnection.
CHttpConnection::OpenRequest
Chame esta função membro para abrir uma ligaçã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 apontador para uma string contendo o verbo a usar no pedido. Se for NULL, usa-se "GET".
pstrObjectName
Um apontador para uma string contendo o objeto-alvo do verbo especificado. Esta cadeia é geralmente um nome de ficheiro, um módulo executável ou um especificador de pesquisa.
pstrReferer
Um ponteiro para uma cadeia que especifica o endereço (URL) do documento de onde foi obtida a URL no pedido (pstrObjectName). Se for NULL, não é especificado nenhum cabeçalho HTTP.
dwContext
O identificador de contexto da OpenRequest operação. Para mais informações sobre dwContext, consulte a secção de Observações.
ppstrAcceptTypes
Um ponteiro para um array terminado por null de apontadores LPCTSTR para strings que indicam tipos de conteúdo aceites pelo cliente. Se ppstrAcceptTypes for NULL, os servidores interpretam que o cliente só aceita documentos do tipo "text/*" (ou seja, apenas documentos de texto e não imagens ou outros ficheiros binários). O tipo de conteúdo é equivalente à variável CGI CONTENT_TYPE, que identifica o tipo de dados para consultas que têm informação anexada, como HTTP POST e PUT.
pstrVersion
Um ponteiro para uma string que define a versão HTTP. Se for NULL, usa-se "HTTP/1.0".
dwBandeiras
Qualquer combinação das bandeiras INTERNET_ FLAG_*. Consulte a secção de Observações para uma descrição dos possíveis valores de dwFlags .
nVerb
Um número associado ao tipo de pedido HTTP. Pode ser um dos seguintes:
| Tipo de pedido HTTP | valor 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.
Observações
O dwFlags pode ser um dos seguintes:
| Bandeira da Internet | Description |
|---|---|
| INTERNET_FLAG_RELOAD | Força o download do ficheiro, objeto ou lista de diretórios solicitado a partir do servidor de origem, não da cache. |
| INTERNET_FLAG_DONT_CACHE | Não adiciona a entidade devolvida à cache. |
| INTERNET_FLAG_MAKE_PERSISTENT | Adiciona a entidade devolvida à cache como uma entidade persistente. Isto significa que a limpeza padrão da cache, a verificação de consistência ou a recolha de lixo não podem remover este item da cache. |
| INTERNET_FLAG_SECURE | Utiliza semântica de transações seguras. Traduz-se para usar SSL/PCT e só tem significado em pedidos HTTP |
| INTERNET_FLAG_NO_AUTO_REDIRECT | Usado apenas com HTTP, especifica que as redireções não devem ser tratadas automaticamente em CHttpFile::SendRequest. |
Substitua o dwContext padrão para definir o identificador de contexto para um valor à sua escolha. O identificador de contexto está associado a esta operação específica do CHttpConnection objeto criada pelo seu objeto CInternetSession . O valor é devolvido a CInternetSession::OnStatusCallback para fornecer o estado da operação com a qual foi identificado. Consulte o artigo Internet First Steps: WinInet para mais informações sobre o identificador de contexto.
Podem ser feitas exceções com esta função.
Consulte também
Classe CInternetConnection
Gráfico de Hierarquia
Classe CInternetConnection
Classe CHttpFile