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 |
---|---|
|
Devuelto por WinHttpGetProxyForUrl cuando no se puede encontrar un proxy para la dirección URL especificada. |
|
Error al ejecutar el código de script en el archivo de configuración automática de proxy (PAC). |
|
El tipo de identificador proporcionado es incorrecto para esta operación. |
|
Se ha producido un error interno. |
|
La dirección URL no es válida. |
|
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. |
|
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. |
|
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. |
|
La dirección URL del archivo PAC especificó un esquema distinto de "http:" o "https:". |
|
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 |