代码之家  ›  专栏  ›  技术社区  ›  Scott Ferguson

在finalbuilder中,如何在Windows身份验证中使用http get file操作?

  •  1
  • Scott Ferguson  · 技术社区  · 16 年前

    我有一个finalbuilder项目,在该项目中,我将一个ASP.NET网站部署到一个远程文件夹,配置为IIS中的一个网站。 作为构建脚本的一部分,我希望使用finalbuilder操作 HTTP获取文件 帮助确定部署是否成功。

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

    现在,HTTPGET文件操作只有少数几个属性,其中一个是包含用户名和密码的安全部分。太好了,我想!我只需在其中放置一些有效的凭证,finalbuilder将在检索文件时模拟这些凭证。 结果我错了。我收到以下错误:

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

    如果我执行这个动作 没有 设置安全用户名和密码时,出现以下错误:

    检索URL时出错:http/1.1 401未经授权的响应代码:401

    以下是一些有助于解决我的问题的事实。 我正在运行FinalBuilder6专业版,安装了WindowsServer2003,并将我的ASP.NET网站部署到公司局域网内的远程IIS6服务器上。 如果我在远程服务器上配置IIS以允许匿名访问,我可以运行http get file操作而不会出错。但是,在我们的情况下,使用anon访问运行这个特定站点是不可接受的。

    有人能帮忙提出解决办法吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   mdb    16 年前

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

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

    我能想到的唯一剩下的解决方法(除了等待未来的FB发布)是创建自己的FB操作来检索文件。使用.NET框架 System.Net.WebClient 那应该是微不足道的。只需从一个独立的exe开始,以确保一切正常,然后使用finalbuilder action studio将其重构为一个“真正的”操作(如果这甚至是必需的:在您的情况下,生成一个外部的exe可能会正常工作)。

    推荐文章