从SSIS中经过身份验证的Web HTTP连接管理器下载文件

时间:2014-12-29 19:19:28

标签: c# http web ssis ssis-2012

问题:我正在自动从经过身份验证的网站下载文件。我尝试使用 HTTP连接管理器进行不同的替代方案另一个使用脚本任务

HTTP连接管理器
我已经包含了网站的URL,用户名和密码,但是当我尝试测试连接时,会发生以下错误。

  

无法连接到远程服务器

问题:

  1. 对于URL,是否应直接指向服务器或登录页面?我尝试了两种方法,但它没有用。
  2. 我是否需要在域框和客户端证书中指定任何内容?
  3. 什么是客户证书?
  4. 脚本任务

    我已按照链接使用脚本任务下载文件

    Download source file from website with SSIS

    它会引发未知异常,不确定它是什么?

    问题:

    是否有使用脚本任务的简单解决方案?


    在任何一种情况下,您能否帮我连接到经过身份验证的网站并下载文件,并检查文件是否已存在。我没有使用SSIS从Web下载文件的经验。我从这里尝试过不同的解决方案,但都没有。

1 个答案:

答案 0 :(得分:0)

SSIS中的HTTP连接管理器在更高的.Net版本中使用TLS1.2,这是对此的指南:

  1. .NET 4.6及更高版本。您无需做任何其他工作即可 支持TLS 1.2,默认情况下受支持。
  2. .NET 4.5。支持TLS 1.2,但它不是默认协议。您 需要选择使用它。以下代码将使TLS 1.2 默认情况下,请确保在连接之前执行它 安全资源:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

  3. .NET 4.0。不支持TLS 1.2,但是如果您具有.NET 4.5(或 以上)安装在系统上,那么您仍然可以选择使用TLS 1.2 即使您的应用程序框架不支持它。唯一的 问题是.NET 4.0中的SecurityProtocolType没有 TLS1.2的条目,因此我们必须使用数字表示 该枚举值:

    ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

  4. .NET 3.5或更低版本。不支持TLS 1.2(*),并且没有 解决方法。将您的应用程序升级到最新版本的 框架。

我在这里发现:https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

如果您要连接的网站使用的是TLS1.0或TLS1.1,那么您将无法在更高的.Net版本(4.6或更高版本)中连接到该网站