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

时间:2008-09-24 23:17:09

标签: finalbuilder

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

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

现在,HTTP Get File操作只有少数属性,其中一个是安全部分,包含UserName和Password。太棒了,我想!我可以在那里放一些有效的凭据,FinalBuilder会模拟,同时检索我的文件。 事实证明我错了。我收到以下错误:

  

检索网址时出错:套接字错误#10061   连接被拒绝。

如果我在没有设置安全用户名和密码的情况下运行操作,则会出现以下错误:

  

检索网址时出错:HTTP / 1.1 401未经授权的响应代码:401

以下是一些有助于解决问题背景的事实。 我在安装Windows Server 2003时运行FinalBuilder 6 Professional,并将我的ASP.Net网站部署到公司LAN内的远程IIS6服务器上。 如果我在远程服务器上配置IIS以允许匿名访问,我可以无错误地运行HTTP Get File操作。但是,在我们的情况下,不允许以匿名访问运行此特定站点。

有人可以帮忙建议解决方法吗?

1 个答案:

答案 0 :(得分:2)

对于明确的答案,我认为Finalbuilder Forum可能是你最好的选择。

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

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