在ServerXMLHTTP组件中使用代理服务器

MSXML 分析器以前的版本中 ServerXMLHTTP 组件比 4.0 不支持代理身份验证。

所有版本的 XMLHTTP , 包括 4.0, 不支持代理身份验证。

MSXML 4.0 分析器中 ServerXMLHTTP 对象包括两个新成员来支持代理配置和验证: setProxy 和 setProxyCredentials 。

setProxyCredentials 方法
setProxyCredentials 方法是用来指定代理身份验证凭据。 setProxyCredentials 方法接受以下两个参数: • 用户名 username : 的, 是要验证用户的名称。
• 密码 : 对与要验证用户的密码。


setProxy 方法
是 setProxy 方法用于设置由 ServerXMLHTTP 使用代理配置。 setProxy 方法接受以下三个参数:

• proxySetting : 要设置其值为代理配置。 下表示值。 
• varProxyServer : 代理服务器或代理服务器名称的列表的名称。 
• varBypassList : 绕过代理服务器的已知本地主机名称或 IP 地址用于要允许的列表。 

 

下列设置可供使用与 setProxy 方法:

 

设置 选项 说明
0 SXH_PROXY_SET_PRECONFIG

- 或 -

SXH_PROXY_SET_DEFAULT SXH_PROXY_SET_PRECONFIG 选项可指定应该将使用以前建立静态代理配置。 当使用此选项, 配置取自 Windows 注册表。 如果使用 WinHTTP 代理配置实用程序, Proxycfg.exe, 来代理客户端计算机上设置是这样。

当前, SXH_PROXY_SET_DEFAULT 共享作为 SXH_PROXY_SET_PRECONFIG 相同设置级别。 自动代理配置功能可能附带将来发布产品支持它旨在, 但是。 
1 SXH_PROXY_SET_DIRECT SXH_PROXY_SET_DIRECT 选项可指定, 应直接访问所有 HTTP 和 HTTPS 服务器。 
2 SXH_PROXY_SET_PROXY SXH_PROXY_SET_PROXY 选项可指定一个或多个代理服务器和可选回避列表。 如果没有指定代理对给定协议, 且服务器处于回避列表, 无法访问服务器。 


代码如下:

Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0
Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0
Const HTTPREQUEST_PROXYSETTING_DIRECT = 1
Const HTTPREQUEST_PROXYSETTING_PROXY = 2
url='http://www.f08.net'
set  xmlhttp=CreateObject('MSXML2.ServerXMLHTTP.5.0')     
  xmlhttp.SetProxy HTTPREQUEST_PROXYSETTING_PROXY  '代理ip:代理端口 
  xmlhttp.open 'GET',url,False
  xmlhttp.send 
  if   xmlhttp.readyState=4 then    
  'Response.Write  xmlhttp.getAllResponseHeaders   
  end if