将应用程序从Window Server 2003迁移到Window Server 2008 x64。我们有一个简单的VBS脚本,它位于域之外,并使用post请求获取XML文档。该脚本在Windows Server 2003上运行良好,但在新服务器上,我们不断获得状态代码407(代理身份验证失败)。我确实可以在不从Intranet设置任何代理信息的情况下提取文件。 Server 2008中的代理凭据方法是否有任何更改?
简化代码:
Dim o
Set o = CreateObject("Msxml2.ServerXMLHTTP.6.0")
o.open "POST", "https://somesite.com", false
o.setProxy 2, "myproxy:8080", ""
o.setProxyCredentials "user", "pass"
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.send "loginId=USER&password=1234"
While o.readyState <> 4
o.waitForResponse 1000
Wend
Wscript.echo o.status
似乎正在联系代理,因为没有它我无法解析服务器名称或地址,但代理用户/密码未正确验证,但仍在Window Server 2003上工作。
编辑20140303 :已经好几个月了,我还没想出来。当我们想要退出我们的Windows 2003机器时,我弄清楚出了什么问题变得越来越重要。
我注意到如果我将发送数据更改为不正确的UID / PWD我从页面得到了回复(不正确的登录页面)。我不明白为什么这在Server 2003上完美无缺,但在Server 2008 R2上似乎是不可能的。
如果我在同一个盒子上打开IE,并使用相同的代理信息并使用相同的UID / PWD访问同一个站点,它也可以。我这样做是为了确保没有某种基于IP的块,代理或站点UID / PWD仅在旧机器上工作。