Partilhar via


Classe CHttpConnection

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

CObject

Conexão Cinternet

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