勇芳软件工作室.汉化:  WinHTTP Reference > WinHTTP Functions >

WinHttpGetProxyForUrl

Previous pageReturn to chapter overviewNext page

描述

 

WinHttpGetProxyForUrl函数检索指定URL的代理数据。

 

C / C ++语法

 

BOOL WinHttpGetProxyForUrl(

HINTERNET hSession,

LPCWSTR lpcwszUrl,

WINHTTP_AUTOPROXY_OPTIONS* pAutoProxyOptions,

WINHTTP_PROXY_INFO* pProxyInfo

);

 

PowerBASIC 语法

 

FUNCTION WinHttpGetProxyForUrl ( _

BYVAL hSession AS DWORD, _

BYREF lpcwszUrl AS WSTRINGZ, _

BYREF pAutoProxyOptions AS WINHTTP_AUTOPROXY_OPTIONS, _

BYREF pProxyInfo AS WINHTTP_PROXY_INFO _

) AS LONG

 

参数

 

hSession

 

[in]WinHttpOpen函数返回的WinHTTP会话句柄。

 

lpcwszUrl

 

[in]指向空值终止的Unicode字符串的指针,该字符串包含应用程序准备发送的HTTP请求的URL。

 

pAutoProxyOptions

 

[in]指向WINHTTP_AUTOPROXY_OPTIONS结构的指针,指定要使用的自动代理选项。

 

pProxyInfo

 

[out]指向接收代理设置的WINHTTP_PROXY_INFO结构的指针。然后使用WINHTTP_OPTION_PROXY选项将此结构应用于请求句柄。使用GlobalFree函数释放此结构中包含的lpszProxylpszProxyBypass字符串(如果它们不为NULL)。

 

返回值

 

如果函数成功,函数返回TRUE。

 

如果函数失败,则返回FALSE。对于扩展错误数据,请调用GetLastError.

 

可能的错误代码包括:

 

错误代码

描述

ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR

当指定的URL的代理无法找到时,由WinHttpGetProxyForUrl返回。

ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT

在代理自动配置(PAC)文件中执行脚本代码时发生错误。

ERROR_WINHTTP_INCORRECT_HANDLE_TYPE

提供的手柄类型对于此操作是不正确的。

ERROR_WINHTTP_INTERNAL_ERROR

发生内部错误。

ERROR_WINHTTP_INVALID_URL

网址无效

ERROR_WINHTTP_LOGIN_FAILURE

登录尝试失败。遇到此错误时,请使用WinHttpCloseHandle关闭请求句柄。必须先创建一个新的请求句柄,然后再重试最初产生此错误的函数。

ERROR_WINHTTP_OPERATION_CANCELLED

操作被取消,通常是因为在操作完成之前,请求的操作被关闭。

ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT

PAC文件无法下载。例如,由PAC URL引用的服务器可能无法访问,或者服务器返回404 NOT FOUND响应。

ERROR_WINHTTP_UNRECOGNIZED_SCHEME

PAC文件的URL指定了除“http:”或“https:”之外的方案。

ERROR_NOT_ENOUGH_MEMORY

没有足够的内存来完成请求的操作。(Windows错误代码)

 

备注

 

此函数实现Web代理自动发现(WPAD)协议,用于自动配置HTTP请求的代理设置。WPAD协议下载一个代理自动配置(PAC)文件,该文件是一个脚本,用于标识用于给定目标URL的代理服务器。PAC文件通常由企业网络环境中的IT部门部署。可以明确指定PAC文件的URL,或者可以指定WinHttpGetProxyForUrl自动发现本地网络上PAC文件的位置。

 

WinHttpGetProxyForUrl仅支持基于ECMAScript的PAC文件。

 

必须根据每个URL调用WinHttpGetProxyForUrl,因为PAC文件可以为不同的URL返回不同的代理服务器。这是有用的,因为PAC文件使IT部门能够通过将目标URL(由lpcwszUrl参数指定)映射(散列))到代理服务器阵列中的某个代理来实现代理服务器负载平衡。

 

WinHttpGetProxyForUrlpAutoProxyOptions结构的dwFlags中成员中指定自动发现时,缓存自动代理URL和自动脚本脚本。有关详细信息,请参阅自动缓存.