在FinalBuilder中,如何将HTTP Get File操作与Windows身份验证一起使用?

时间:2020-03-06 14:41:41  来源:igfitidea点击:

我有一个FinalBuilder项目,其中将ASP.Net网站部署到配置为IIS中网站的远程文件夹。
作为构建脚本的一部分,我想使用FinalBuilder操作HTTP Get File来帮助确定我的部署是否成功。

我遇到了麻烦,因为该网站(在IIS 6下)配置为使用集成Windows身份验证,并且未启用匿名访问。

现在,HTTP Get File操作仅具有少数属性,其中一个是安全性部分,其中包含用户名和密码。太棒了,我想!我可以在其中放入一些有效的凭据,FinalBuilder将在模仿这些凭据的同时检索我的文件。
原来我弄错了。我收到以下错误:

Error retrieving url : Socket Error # 10061
  Connection refused.

如果我在未设置安全用户名和密码的情况下运行操作,则会收到以下错误消息:

Error retrieving url : HTTP/1.1 401 Unauthorized Response Code : 401

以下是一些事实,可以帮助解决我的问题。
我在Windows Server 2003安装后运行FinalBuilder 6 Professional,并将ASP.Net网站部署到公司LAN内的远程IIS6服务器上。
如果将远程服务器上的IIS配置为允许匿名访问,则可以运行HTTP Get File操作,而不会出现错误。但是,在我们的情况下,运行具有匿名访问权限的特定站点是不可接受的。

任何人都可以帮助建议解决方法吗?

解决方案

对于确切的答案,我认为Finalbuilder论坛可能是我们最好的选择。

不过,我的猜测是FB使用的HTTP库不支持Windows身份验证,并且由于无法协商通用的身份验证方法而失败了。由于" HTTP Get File操作"也不支持HTTPS,因此在站点上允许基本身份验证的可能解决方法不是一个好主意,因为我们将以纯文本形式通过网络传递凭据。

我能想到的唯一剩下的解决方法(除了等待将来的FB版本外)是创建自己的FB操作来检索文件。使用.NET Framework System.Net.WebClient,那应该是微不足道的。只需从一个独立的EXE开始,以确保一切正常,然后使用FinalBuilder Action Studio将其重构为一个"真实"的动作(如果需要的话:生成一个外部EXE就可以了)。