Compartir a través de


Función InternetOpenA (wininet.h)

Inicializa el uso de una aplicación de las funciones 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 un cadena terminada en nullque 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 siguientes valores.

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 omita el proxy. En este caso, la función usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Puntero a un cadena terminada en nullque especifica el nombre de los servidores proxy que se van a usar cuando se especifica el acceso de proxy estableciendo dwAccessType en 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, consulte la sección Enumerar servidores proxy de Habilitación de la funcionalidad de Internet.

[in] lpszProxyBypass

Puntero a un cadena terminadanull 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 se establece 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 para cualquier nombre de host que no contenga un punto.

De forma predeterminada, WinINet omitirá el proxy para 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 siguientes valores.

Valor 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 desde 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 desde 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 posteriores de WinINet. Si se produce un error en InternetOpen, devuelve NULL. Para recuperar un mensaje de error específico, llame a GetLastError.

Observaciones

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 InternetAbrir, aunque una sola llamada es normalmente suficiente. Es posible que la aplicación tenga que definir comportamientos independientes para cada InternetAbrir instancia, como servidores proxy diferentes configurados para cada uno.

Después de que la aplicación de llamada haya terminado de usar el identificador de 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 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 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

habilitación de la funcionalidad de Internet

funciones winINet