通过 SSIS 2010 进行 2 步身份验证 C# 访问 JSON API



我已经在 SSIS 2010 中设法访问具有基本身份验证的 JSON API ...用户名和密码,使用以下脚本

我需要修改下面的脚本,以包括传递客户端密钥和客户端 ID 的凭据

任何人都知道如何为 SSIS 2010 修改此内容。我已经尝试过没有快乐,所以我已经粘贴了到目前为止的工作代码

请帮忙

WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?  param=value&param2=value");
req.Method = "GET";
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String  (Encoding.Default.GetBytes("username:password"));
//req.Credentials = new NetworkCredential("username", "password");
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

这可能取决于 API 的设置方式和预期内容,但就我而言,我在创建 HttpClientHandler 时做到了这一点:

using System.Net.Http;
using System.Configuration;
...
HttpClientHandler handler = new HttpClientHandler { Credentials = new NetworkCredential(ConfigurationManager.AppSettings["API.UserName"].ToString(), ConfigurationManager.AppSettings["API.Password"].ToString()) };
HttpClient apiClient = new HttpClient(handler);

或者,不使用配置:

using System.Net.Http;
...
HttpClientHandler handler = new HttpClientHandler { Credentials = new NetworkCredential("MyUserName", "MyPassword") };
HttpClient apiClient = new HttpClient(handler);

然后使用客户端进行调用。 这是我的做法:

HttpResponseMessage httpResponse = apiClient.GetAsync(curl).Result;

最新更新