ssis - 2 步身份验证 C# 通过 SSIS 2010 访问 JSON API
问题描述
我已经在 SSIS 2010 中设法通过基本身份验证访问 JSON API ... 用户名和密码,使用下面的脚本
我需要修改下面的脚本,以包括传递客户端密码和客户端 ID 的凭据
任何人都知道如何为 SSIS 2010 修改这个。我没有高兴地尝试过,所以到目前为止我已经粘贴了工作代码
请帮忙
WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations? param=value¶m2=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;
推荐阅读
- php - 将参数传递给带有数据目标的模态窗口不起作用
- python - 使用 python 正则表达式用星号替换密码
- google-chrome - 如何在 Google Chrome 中重新启用混合内容阻止
- azure - 如何重命名 ADF(Azure 数据工厂)管道中的文件夹
- ios - 当我的框架包含 .framework 文件时为什么会出错
- c++ - 在 C++ 中包含来自不同目录的标头
- clang - Clang 内存分配
- angular - 在 Angular 7/8 中单击按钮时添加组件
- java - 我的应用程序不断停止。我该如何解决这个问题?
- python - 从父目录导入库 | Python