Función WinHttpGetProxyForUrl (winhttp.h)

La función WinHttpGetProxyForUrl recupera los datos de proxy de la dirección URL especificada.

Sintaxis

WINHTTPAPI BOOL WinHttpGetProxyForUrl(
  [in]  HINTERNET                 hSession,
  [in]  LPCWSTR                   lpcwszUrl,
  [in]  WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
  [out] WINHTTP_PROXY_INFO        *pProxyInfo
);

Parámetros

[in] hSession

Identificador de sesión winHTTP devuelto por la función WinHttpOpen .

[in] lpcwszUrl

Puntero a una cadena Unicode terminada en null que contiene la dirección URL de la solicitud HTTP que la aplicación está preparando para enviar.

[in] pAutoProxyOptions

Puntero a una estructura de WINHTTP_AUTOPROXY_OPTIONS que especifica las opciones de proxy automático que se van a usar.

[out] pProxyInfo

Puntero a una estructura de WINHTTP_PROXY_INFO que recibe la configuración del proxy. A continuación, esta estructura se aplica al identificador de solicitud mediante la opción WINHTTP_OPTION_PROXY. Libere las cadenas lpszProxy y lpszProxyBypass contenidas en esta estructura (si no son NULL) mediante la función GlobalFree .

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener datos de error extendidos, llame a GetLastError.

Los posibles códigos de error incluyen el folllowing.

Código de error Descripción
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
Devuelto por WinHttpGetProxyForUrl cuando no se puede encontrar un proxy para la dirección URL especificada.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
Error al ejecutar el código de script en el archivo de configuración automática de proxy (PAC).
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
El tipo de identificador proporcionado es incorrecto para esta operación.
ERROR_WINHTTP_INTERNAL_ERROR
Se ha producido un error interno.
ERROR_WINHTTP_INVALID_URL
La dirección URL no es válida.
ERROR_WINHTTP_LOGIN_FAILURE
Error en el intento de inicio de sesión. Cuando se produce este error, cierre el identificador de solicitud con WinHttpCloseHandle. Se debe crear un nuevo identificador de solicitud antes de reintentar la función que generó este error originalmente.
ERROR_WINHTTP_OPERATION_CANCELLED
La operación se canceló, normalmente porque el identificador en el que estaba funcionando la solicitud se cerró antes de que se completara la operación.
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
No se pudo descargar el archivo PAC. Por ejemplo, es posible que el servidor al que hace referencia la dirección URL de PAC no haya sido accesible o el servidor devolvió una respuesta 404 NOT FOUND.
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
La dirección URL del archivo PAC especificó un esquema distinto de "http:" o "https:".
ERROR_NOT_ENOUGH_MEMORY
No había suficiente memoria disponible para completar la operación solicitada. (Código de error de Windows)

Comentarios

Esta función implementa el protocolo de detección automática de proxy web (WPAD) para configurar automáticamente la configuración del proxy para una solicitud HTTP. El protocolo WPAD descarga un archivo de configuración automática de proxy (PAC), que es un script que identifica el servidor proxy que se va a usar para una dirección URL de destino determinada. Normalmente, el departamento de TI implementa archivos PAC dentro de un entorno de red corporativa. Se puede especificar explícitamente la dirección URL del archivo PAC o WinHttpGetProxyForUrl para detectar automáticamente la ubicación del archivo PAC en la red local.

WinHttpGetProxyForUrl solo admite archivos PAC basados en ECMAScript.

Se debe llamar a WinHttpGetProxyForUrl por dirección URL, ya que el archivo PAC puede devolver un servidor proxy diferente para diferentes direcciones URL. Esto resulta útil porque el archivo PAC permite a un departamento de TI implementar el equilibrio de carga del servidor proxy mediante la asignación (hash) de la dirección URL de destino (especificada por el parámetro lpcwszUrl ) a un determinado proxy en una matriz de servidores proxy.

WinHttpGetProxyForUrl almacena en caché la dirección URL de autoproxy y el script de autoproxy cuando se especifica la detección automática en el miembro dwFlags de la estructura pAutoProxyOptions . Para más información, consulte Autoproxy Cache.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winhttp.h
Library Winhttp.lib
Archivo DLL Winhttp.dll

Consulte también

Versiones winHTTP