Función InternetOpenA (wininet.h)

Inicializa el uso de una aplicación de las funciones de WinINet.

Sintaxis

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

Parámetros

[in] lpszAgent

Puntero a una cadena terminada en null que especifica el nombre de la aplicación o entidad que llama a las funciones winINet. Este nombre se usa como agente de usuario en el protocolo HTTP.

[in] dwAccessType

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

Valor Significado
INTERNET_OPEN_TYPE_DIRECT
Resuelve todos los nombres de host localmente.
INTERNET_OPEN_TYPE_PRECONFIG
Recupera el proxy o la configuración directa del Registro.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Recupera el proxy o la configuración directa del Registro e impide el uso de un archivo de instalación de Internet (INS) o Microsoft JScript de inicio.
INTERNET_OPEN_TYPE_PROXY
Pasa solicitudes al proxy a menos que se proporcione una lista de omisión de proxy y el nombre que se va a resolver omite el proxy. En este caso, la función usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Puntero a una cadena terminada en null que especifica el nombre de los servidores proxy que se van a usar cuando se especifica el acceso de proxy estableciendo dwAccessTypeen INTERNET_OPEN_TYPE_PROXY. No use una cadena vacía, ya que InternetOpen la usará como nombre de proxy. Las funciones winINet solo reconocen servidores proxy de tipo CERN (solo HTTP) y la puerta de enlace FTP de TIS (solo FTP). Si Microsoft Internet Explorer está instalado, estas funciones también admiten servidores proxy SOCKS. Las solicitudes FTP se pueden realizar a través de un proxy de tipo CERN cambiandolas a una solicitud HTTP o mediante InternetOpenUrl. Si dwAccessType no está establecido en INTERNET_OPEN_TYPE_PROXY, este parámetro se omite y debe ser NULL. Para obtener más información sobre cómo enumerar servidores proxy, vea la sección Enumeración de servidores proxy de habilitación de la funcionalidad de Internet.

[in] lpszProxyBypass

Puntero a una cadena terminada en null que especifica una lista opcional de nombres de host o direcciones IP, o ambas, que no se deben enrutar a través del proxy cuando dwAccessType está establecido en INTERNET_OPEN_TYPE_PROXY. La lista puede contener caracteres comodín. No use una cadena vacía, ya que InternetOpen la usará como lista de omisión de proxy. Si este parámetro especifica la macro "<local>", la función omite el proxy de cualquier nombre de host que no contenga un punto.

De forma predeterminada, WinINet omitirá el proxy de las solicitudes que usan los nombres de host "localhost", "loopback", "127.0.0.1" o "[::1]". Este comportamiento existe porque un servidor proxy remoto normalmente no resolverá estas direcciones correctamente. Internet Explorer 9: Puede quitar el equipo local de la lista de omisión de proxy mediante la macro "<-loopback>".

Si dwAccessType no está establecido en INTERNET_OPEN_TYPE_PROXY, este parámetro se omite y debe ser NULL.

[in] dwFlags

Opciones. Este parámetro puede ser una combinación de los valores siguientes.

Value Significado
INTERNET_FLAG_ASYNC
Realiza solo solicitudes asincrónicas en identificadores descendientes del identificador devuelto de esta función.
INTERNET_FLAG_FROM_CACHE
No realiza solicitudes de red. Todas las entidades se devuelven de la memoria caché. Si el elemento solicitado no está en la memoria caché, se devuelve un error adecuado, como ERROR_FILE_NOT_FOUND.
INTERNET_FLAG_OFFLINE
Idéntico a INTERNET_FLAG_FROM_CACHE. No realiza solicitudes de red. Todas las entidades se devuelven de la memoria caché. Si el elemento solicitado no está en la memoria caché, se devuelve un error adecuado, como ERROR_FILE_NOT_FOUND.

Valor devuelto

Devuelve un identificador válido que la aplicación pasa a las funciones de WinINet posteriores. Si Se produce un error en InternetOpen , devuelve NULL. Para recuperar un mensaje de error específico, llame a GetLastError.

Comentarios

InternetOpen es la primera función winINet a la que llama una aplicación. Indica al archivo DLL de Internet que inicialice estructuras de datos internas y prepárese para futuras llamadas desde la aplicación. Cuando la aplicación termine de usar las funciones de Internet, debe llamar a InternetCloseHandle para liberar el identificador y los recursos asociados.

La aplicación puede realizar cualquier número de llamadas a InternetOpen, aunque normalmente basta con una sola llamada. Es posible que la aplicación tenga que definir comportamientos independientes para cada instancia de InternetOpen , como diferentes servidores proxy configurados para cada uno.

Una vez que la aplicación que realiza la llamada haya terminado de usar el identificador HINTERNET devuelto por InternetOpen, debe cerrarse mediante la función InternetCloseHandle .

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 los servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetOpen 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
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

Consulte también

Habilitación de la funcionalidad de Internet

Funciones de WinINet