CHttpConnection (clase)
Administra la conexión a un servidor HTTP.
Sintaxis
class CHttpConnection : public CInternetConnection
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CHttpConnection::CHttpConnection | Crea un objeto CHttpConnection . |
Métodos públicos
Nombre | Descripción |
---|---|
CHttpConnection::OpenRequest | Abre una solicitud HTTP. |
Comentarios
HTTP es uno de los tres protocolos de servidor de Internet implementados por las clases WinInet de MFC.
La clase CHttpConnection
contiene un constructor y una función miembro, OpenRequest, que administra las conexiones a un servidor con un protocolo HTTP.
Para comunicarse con un servidor HTTP, primero debe crear una instancia de CInternetSession y luego un objeto CHttpConnection. Un objeto CHttpConnection
nunca se crea directamente, sino que se llama a CInternetSession::GetHttpConnection, que crea el objeto CHttpConnection
y devuelve un puntero a él.
Para obtener más información sobre cómo funciona CHttpConnection
con las otras clases de Internet de MFC, vea el artículo Programación de Internet con WinInet. Para obtener más información sobre cómo conectarse a servidores mediante los otros dos protocolos de Internet compatibles, gopher y FTP, vea las clases CGopherConnection y CFtpConnection.
Jerarquía de herencia
CHttpConnection
Requisitos
Encabezado: afxinet.h
CHttpConnection::CHttpConnection
Se llama a esta función miembro para construir un 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
Un puntero a un objeto CInternetSession.
hConnected
Identificador de una conexión de Internet.
pstrServer
Un puntero a una cadena que contiene el nombre del servidor FTP.
dwContext
Identificador de contexto del objeto CInternetConnection
. Para obtener más información sobre dwContext, vea la sección Comentarios.
nPort
El número que identifica el puerto de Internet para esta conexión.
pstrUserName
Puntero a una cadena terminada en null que especifica el nombre del usuario que va a iniciar sesión. Si es NULL, el valor predeterminado es anónimo.
pstrPassword
Puntero a una cadena terminada en null que especifica la contraseña que se va a usar para iniciar sesión. Si tanto pstrPassword como pstrUserName son NULL, la contraseña anónima predeterminada es el nombre de correo electrónico del usuario. Si pstrPassword es NULL o una cadena vacía pero pstrUserName no es NULL, se usa una contraseña en blanco. En la tabla siguiente se describe el comportamiento de las cuatro configuraciones posibles de pstrUserName y pstrPassword:
pstrUserName | pstrPassword | Nombre de usuario enviado al servidor FTP | Contraseña enviada al servidor FTP |
---|---|---|---|
NULL o " " | NULL o " " | "anónimo" | Nombre de correo electrónico del usuario |
Cadena que no es NULL | NULL o " " | pstrUserName | " " |
NULL | Cadena que no es NULL | ERROR | ERROR |
Cadena que no es NULL | Cadena que no es NULL | pstrUserName | pstrPassword |
dwFlags
Cualquier combinación de las marcas INTERNET_FLAG_*
. Vea la tabla de la sección Comentarios de CHttpConnection::OpenRequest para obtener una descripción de los valores dwFlags.
Comentarios
CHttpConnection
nunca se crea directamente. En su lugar, se crea un objeto mediante una llamada a CInternetSession::GetHttpConnection.
CHttpConnection::OpenRequest
Llame a esta función miembro para abrir una conexión 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
Puntero a una cadena que contiene el verbo que se va a utilizar en la solicitud. Si es NULL, se usa "GET".
pstrObjectName
Puntero a una cadena que contiene el objeto de destino del verbo especificado. Esta cadena suele ser un nombre de archivo, un módulo ejecutable o un especificador de búsqueda.
pstrReferer
Puntero a una cadena que especifica la dirección (URL) del documento del que se ha obtenido la dirección URL de la solicitud (pstrObjectName). Si es NULL, no se especifica ningún encabezado HTTP.
dwContext
Identificador de contexto para la operación OpenRequest
. Para obtener más información sobre dwContext, vea la sección Comentarios.
ppstrAcceptTypes
Puntero a una matriz terminada en null de punteros LPCTSTR a cadenas que indican los tipos de contenido que acepta el cliente. Si ppstrAcceptTypes es NULL, los servidores interpretan que el cliente solo acepta documentos de tipo “text/*” (es decir, solo documentos de texto y no imágenes ni otros archivos binarios). El tipo de contenido es equivalente a la variable CONTENT_TYPE de CGI, que identifica el tipo de datos para las consultas que tienen información adjunta, como HTTP POST y PUT.
pstrVersion
Puntero a una cadena que define la versión de HTTP. Si es NULL, se usa "HTTP/1.0".
dwFlags
Cualquier combinación de las marcas INTERNET_ FLAG_*. Vea la sección Comentarios para obtener una descripción de los posibles valores dwFlags.
nVerb
Número asociado al tipo de solicitud HTTP. Puede ser uno de los siguientes:
Tipo de solicitud HTTP | nVerb value |
---|---|
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 devuelto
Puntero al objeto CHttpFile solicitado.
Comentarios
dwFlags puede ser uno de los siguientes:
Marca de Internet | Descripción |
---|---|
INTERNET_FLAG_RELOAD | Fuerza una descarga del archivo, el objeto o el listado de directorio solicitado del servidor de origen, no de la memoria caché. |
INTERNET_FLAG_DONT_CACHE | No agrega la entidad devuelta a la caché. |
INTERNET_FLAG_MAKE_PERSISTENT | Agrega la entidad devuelta a la memoria caché como una entidad persistente. Significa que las operaciones estándar de limpieza de caché, comprobación de coherencia o recolección de elementos no utilizados no pueden quitar este elemento de la caché. |
INTERNET_FLAG_SECURE | Usa semántica de transacción segura. Esto da lugar al uso de SSL/PCT y solo es significativo en solicitudes HTTP |
INTERNET_FLAG_NO_AUTO_REDIRECT | Solo se usa con HTTP; especifica que las redirecciones no se deben controlar automáticamente en CHttpFile::SendRequest. |
Reemplace el valor predeterminado de dwContext
para establecer el identificador de contexto en un valor que desee. El identificador de contexto está asociado a esta operación específica del objeto CHttpConnection
creado por su objeto CInternetSession. El valor se devuelve a CInternetSession::OnStatusCallback para proporcionar el estado de la operación con la que se identifica. Vea el artículo Internet First Steps: WinInet para obtener más información sobre el identificador de contexto.
Se pueden producir excepciones con esta función.
Consulte también
CInternetConnection (clase)
Gráfico de jerarquías
CInternetConnection (clase)
CHttpFile (clase)