Compartir a través de


Función InternetOpenUrlW (wininet.h)

Abre un recurso especificado por una dirección URL HTTP o FTP completa.

Sintaxis

HINTERNET InternetOpenUrlW(
  [in] HINTERNET hInternet,
  [in] LPCWSTR   lpszUrl,
  [in] LPCWSTR   lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parámetros

[in] hInternet

Identificador de la sesión actual de Internet. El identificador debe haber sido devuelto por una llamada anterior a InternetOpen.

[in] lpszUrl

Puntero a un variable de cadena terminadanull que especifica la dirección URL que se va a empezar a leer. Solo se admiten las direcciones URL que comienzan por ftp:, http:, o https.

[in] lpszHeaders

Puntero a un cadena terminada en nullque especifica los encabezados que se van a enviar al servidor HTTP. Para obtener más información, consulte la descripción del parámetro lpszHeaders en la función HttpSendRequest de .

[in] dwHeadersLength

Tamaño de los encabezados adicionales, en TCHAR. Si este parámetro es -1L y lpszHeaders no es NULL, se supone que lpszHeaders está terminado en cero (ASCIIZ) y se calcula la longitud.

[in] dwFlags

Este parámetro puede ser uno de los siguientes valores.

Valor Significado
INTERNET_FLAG_EXISTING_CONNECT
Intenta usar un objeto InternetConnect existente si existe con los mismos atributos necesarios para realizar la solicitud. Esto solo es útil con operaciones FTP, ya que FTP es el único protocolo que normalmente realiza varias operaciones durante la misma sesión. La API de WinINet almacena en caché un único identificador de conexión para cada identificador de HINTERNET generado por InternetOpen. InternetOpenUrl usa esta marca para las conexiones HTTP y FTP.
INTERNET_FLAG_HYPERLINK
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.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
Deshabilita la comprobación de certificados basados en SSL/PCT que se devuelven del servidor con el nombre de host proporcionado 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.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
Deshabilita la comprobación de certificados basados en SSL/PCT para fechas de validez adecuadas.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
Deshabilita la detección de este tipo especial de redirección. Cuando se usa esta marca, WinINet permite redireccionamientos de HTTPS a direcciones URL HTTP de forma transparente.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Deshabilita la detección de este tipo especial de redirección. Cuando se usa esta marca, WinINet permite redireccionamientos de HTTP a direcciones URL HTTPS de forma transparente.
INTERNET_FLAG_KEEP_CONNECTION
Usa la semántica de mantenimiento activo, si está disponible, para la conexión. Esta marca es necesaria para Microsoft Network (MSN), NTLM y otros tipos de autenticación.
INTERNET_FLAG_NEED_FILE
Hace que se cree un archivo temporal si el archivo no se puede almacenar en caché.
INTERNET_FLAG_NO_AUTH
No intenta la autenticación automáticamente.
INTERNET_FLAG_NO_AUTO_REDIRECT
No controla automáticamente el redireccionamiento en httpSendRequest.
INTERNET_FLAG_NO_CACHE_WRITE
No agrega la entidad devuelta a la memoria caché.
INTERNET_FLAG_NO_COOKIES
No agrega automáticamente encabezados de cookies a las solicitudes y no agrega automáticamente cookies devueltas a la base de datos de cookies.
INTERNET_FLAG_NO_UI
Deshabilita el cuadro de diálogo cookie.
INTERNET_FLAG_PASSIVE
Usa la semántica de FTP pasiva. InternetOpenUrl usa esta marca para los archivos y directorios FTP.
INTERNET_FLAG_PRAGMA_NOCACHE
Obliga a que el servidor de origen resuelva la solicitud, incluso si existe una copia almacenada en caché en el proxy.
INTERNET_FLAG_RAW_DATA
Devuelve los datos como una estructura de WIN32_FIND_DATA al recuperar información del directorio FTP. Si no se especifica esta marca o si la llamada se realizó a través de un proxy CERN, InternetOpenUrl devuelve la versión HTML del directorio.

Windows XP y Windows Server 2003 R2 y versiones anteriores: también devuelve datos como una estructura de GOPHER_FIND_DATA al recuperar información de directorio de Gopher.

INTERNET_FLAG_RELOAD
Fuerza una descarga del archivo, el objeto o la lista de directorios solicitados desde el servidor de origen, no desde la memoria caché.
INTERNET_FLAG_RESYNCHRONIZE
Recarga los recursos HTTP si el recurso se ha modificado desde la última vez que se descargó. Todos los recursos FTP se vuelven a cargar.

Windows XP y Windows Server 2003 R2 y versiones anteriores: también se vuelven a cargar recursos de Gopher.

INTERNET_FLAG_SECURE
Usa la semántica de transacciones seguras. 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 especifica el valor definido por la aplicación que se pasa, junto con el identificador devuelto, a las funciones de devolución de llamada.

Valor devuelto

Devuelve un identificador válido a la dirección URL si la conexión se ha establecido correctamente o null si se produce un error en la conexión. Para recuperar un mensaje de error específico, llame a GetLastError. Para determinar por qué se denegó el acceso al servicio, llame a InternetGetLastResponseInfo.

Observaciones

Llame a InternetCanonicalizeUrl primero si la dirección URL que se usa contiene una dirección URL relativa y una dirección URL base separada por espacios en blanco.

Se trata de una función general que una aplicación puede usar para recuperar datos a través de cualquiera de los protocolos compatibles con WinINet. Esta función es especialmente útil cuando la aplicación no necesita acceder a los detalles de un protocolo, sino que solo requiere los datos correspondientes a una dirección URL. La función InternetOpenUrl analiza la cadena de dirección URL, establece una conexión con el servidor y se prepara para descargar los datos identificados por la dirección URL. Después, la aplicación puede usar InternetReadFile (para archivos) o InternetFindNextFile (para directorios) para recuperar los datos de la dirección URL. No es necesario llamar a InternetConnect antes de InternetOpenUrl.

Windows XP y Windows Server 2003 R2 y versiones anteriores: InternetOpenUrl deshabilita Gopher en los puertos inferiores a 1024, excepto el puerto 70 , el puerto Gopher estándar y el puerto 105, que normalmente se usan para las búsquedas de nombres de la Organización de Central Services (CSO).

Después de que la aplicación de llamada haya terminado de usar el identificador de HINTERNET devuelto por InternetOpenUrl, debe cerrarse mediante la función InternetCloseHandle.

Nota Al trabajar 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 sesión no se invocará, sin embargo, la llamada se realizará 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 WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetOpenUrl 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wininet.h
biblioteca de Wininet.lib
DLL de Wininet.dll

Consulte también

control de localizadores uniformes de recursos

funciones winINet