代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数。该类类图如下。
提供的主要处理方法基本上都是静态函数,简要描述如下:
内嵌类型WINHTTP_AUTOPROXY_OPTIONS代表自动代理选项的Win32结构体。
内嵌类型WINHTTP_PROXY_INFO代表被WinHTTP互操作返回的代理信息结构体。
static extern IntPtr WinHttpOpen()封送Win32动态链接库中的打开Windows Http服务函数。
static extern bool WinHttpCloseHandle(IntPtr hInternet)封送Win32动态链接库中的关闭Windows Http服务函数。
static extern bool WinHttpGetProxyForUrl()封送Win32动态链接库中的Http服务的为URL获取代理的函数。
static void OpenWinHttpSession()//打开Windows Http服务会话
static void CloseWinHttpSession()//关闭Windows Http服务会话
static ICredentials DetermineCredentials(string name, string password, string domain)根据给定的参数网络请求的设置凭据
static IWebProxy DetermineAutoProxyForUrl(string targetUrl, string proxyScriptUrl, ref int errorCode) 自动地或者通过下载并运行特定的脚本来确定动态的代理URL字符串
public static IWebProxy DetermineProxyForUrl()确定代理URL字符串,并用相关参数构建的可信凭证设置IwebProxy类