Función HttpOpenRequestA (wininet.h)
Crea un identificador de solicitud HTTP.
Sintaxis
HINTERNET HttpOpenRequestA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszVerb,
[in] LPCSTR lpszObjectName,
[in] LPCSTR lpszVersion,
[in] LPCSTR lpszReferrer,
[in] LPCSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Parámetros
[in] hConnect
Identificador de una sesión HTTP devuelta por InternetConnect.
[in] lpszVerb
Puntero a una cadena terminada en null que contiene el verbo HTTP que se va a usar en la solicitud. Si este parámetro es NULL, la función usa GET como verbo HTTP.
[in] lpszObjectName
Puntero a una cadena terminada en null que contiene el nombre del objeto de destino del verbo HTTP especificado. Por lo general, se trata de un nombre de archivo, un módulo ejecutable o un especificador de búsqueda.
[in] lpszVersion
Puntero a una cadena terminada en null que contiene la versión HTTP que se va a usar en la solicitud. La configuración de Internet Explorer invalidará el valor especificado en este parámetro.
Si este parámetro es NULL, la función usa una versión HTTP de 1.1 o 1.0, según el valor de la configuración de Internet Explorer.
Value | Significado |
---|---|
|
HTTP versión 1.0 |
|
HTTP versión 1.1 |
[in] lpszReferrer
Puntero a una cadena terminada en null que especifica la dirección URL del documento desde el que se obtuvo la dirección URL de la solicitud (lpszObjectName). Si este parámetro es NULL, no se especifica ningún remitente.
[in] lplpszAcceptTypes
Puntero a una matriz terminada en null de cadenas que indica los tipos de medios aceptados por el cliente. Este es un ejemplo.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Si no finaliza correctamente la matriz con un puntero NULL, se producirá un bloqueo.
Si este parámetro es NULL, el cliente no acepta ningún tipo. Por lo general, los servidores interpretan la falta de tipos de aceptación para indicar que el cliente acepta solo documentos de tipo "text/*" (es decir, solo documentos de texto, no hay imágenes u otros archivos binarios).
[in] dwFlags
Opciones de Internet. Este parámetro puede ser cualquiera de los valores siguientes.
Value | Significado |
---|---|
|
Devuelve el recurso de la memoria caché si se produce un error en la solicitud de red para el recurso debido a un ERROR_INTERNET_CONNECTION_RESET (se ha restablecido la conexión con el servidor) o ERROR_INTERNET_CANNOT_CONNECT (error al intentar conectarse al servidor). |
|
Fuerza una recarga si no había ninguna hora de expiración y no se devolvió la hora lastModified del servidor al determinar si se debe volver a cargar el elemento de la red. |
|
Deshabilita la comprobación de certificados basados en SSL/PCT que se devuelven desde el servidor con el nombre de host especificado en la solicitud. Las funciones winINet usan una comprobación sencilla de los certificados comparando los nombres de host coincidentes y las reglas de caracteres comodín simples. |
|
Deshabilita la comprobación de certificados basados en SSL/PCT para las fechas de validez adecuadas. |
|
Deshabilita la detección de este tipo especial de redirección. Cuando se usa esta marca, las funciones winINet permiten de forma transparente las redirecciones de HTTPS a direcciones URL HTTP. |
|
Deshabilita la detección de este tipo especial de redirección. Cuando se usa esta marca, las funciones de WinINet permiten de forma transparente las redirecciones desde direcciones URL HTTP a HTTPS. |
|
Usa la semántica keep-alive, si está disponible, para la conexión. Esta marca es necesaria para Microsoft Network (MSN), NT LAN Manager (NTLM) y otros tipos de autenticación. |
|
Hace que se cree un archivo temporal si el archivo no se puede almacenar en caché. |
|
No intenta la autenticación automáticamente. |
|
No controla automáticamente el redireccionamiento en HttpSendRequest. |
|
No agrega la entidad devuelta a la memoria caché. |
|
No agrega automáticamente encabezados de cookies a las solicitudes y no agrega automáticamente cookies devueltas a la base de datos de cookies. |
|
Deshabilita el cuadro de diálogo cookie. |
|
Fuerza a que el servidor de origen resuelva la solicitud, incluso si existe una copia almacenada en caché en el proxy. |
|
Fuerza una descarga del archivo, el objeto o el listado de directorio solicitado del servidor de origen, no de la memoria caché. |
|
Vuelve a cargar los recursos HTTP si el recurso se ha modificado desde la última vez que se descargó. Se vuelven a cargar todos los recursos FTP.
Windows XP y Windows Server 2003 R2 y versiones anteriores: Los recursos de Gopher también se vuelven a cargar. |
|
Usa semántica de transacción segura. Esto se traduce en el uso de la capa de sockets seguros/tecnología de comunicaciones privadas (SSL/PCT) y solo es significativo en las solicitudes HTTP. |
[in] dwContext
Puntero a una variable que contiene el valor definido por la aplicación que asocia esta operación a los datos de la aplicación.
Valor devuelto
Devuelve un identificador de solicitud HTTP si es correcto o NULL de lo contrario. Para recuperar información de error extendida, llame a GetLastError.
Comentarios
La función HttpOpenRequest crea un nuevo identificador de solicitud HTTP y almacena los parámetros especificados en ese identificador. Un identificador de solicitud HTTP contiene una solicitud que se enviará a un servidor HTTP y contiene todos los encabezados RFC822/MIME/HTTP que se enviarán como parte de la solicitud.
Si se especifica un verbo distinto de "GET" o "POST", HttpOpenRequest establece automáticamente INTERNET_FLAG_NO_CACHE_WRITE y INTERNET_FLAG_RELOAD para la solicitud.
Con Microsoft Internet Explorer 5 y versiones posteriores, si lpszVerb está establecido en "HEAD", el encabezado Content-Length se omite en las respuestas de servidores HTTP/1.1.
En Windows 7, Windows Server 2008 R2 y versiones posteriores, la configuración de Internet Explorer reemplaza el parámetro lpszVersion . El EnableHttp1_1 es un valor del Registro en HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE controlado por Opciones de Internet establecidas en Internet Explorer para el sistema. El valor EnableHttp1_1 tiene como valor predeterminado 1. La función HttpOpenRequest actualiza cualquier versión HTTP inferior a 1.1 a HTTP versión 1.1 si EnableHttp1_1 está establecida en 1.
Después de que la aplicación que realiza la llamada haya terminado de usar el identificador HINTERNET devuelto por HttpOpenRequest, debe cerrarse mediante la función InternetCloseHandle .
Nota Cuando se envía una solicitud en modo asincrónico (el parámetro dwFlags de InternetOpen especifica INTERNET_FLAG_ASYNC) y el parámetro dwContext es cero (INTERNET_NO_CALLBACK), la función de devolución de llamada establecida con InternetSetStatusCallback en el identificador de solicitud no se invocará; sin embargo, la llamada se seguirá realizando en modo asincrónico.
Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.
Nota
El encabezado wininet.h define HttpOpenRequest como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wininet.h |
Library | Wininet.lib |
Archivo DLL | Wininet.dll |