【发布时间】:2017-07-31 11:18:32
【问题描述】:
我正在编写一个 .NET Core 应用程序来轮询远程服务器并传输显示的数据。这在 PHP 中运行良好,因为 PHP 忽略了证书(这在浏览器中也是一个问题),但我们希望将其移至 C# .NET CORE,因为这是系统中唯一剩下的 PHP。
我们知道服务器很好,但由于各种原因,证书无法/不会很快更新。
请求正在使用 HttpClient:
HttpClient httpClient = new HttpClient();
try
{
string url = "https://URLGoesHere.php";
MyData md = new MyData(); // this is some data we need to pass as a json
string postBody = JsonConvert.SerializeObject(md);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage wcfResponse = await httpClient.PostAsync(url, new StringContent(postBody, Encoding.UTF8, "application/json"));
Console.WriteLine(wcfResponse.Content);
}
catch (HttpRequestException hre)
{
// This exception is being triggered
}
对此进行研究后,似乎普遍建议使用 ServicePointManager,但这在 .NET Core 中不可用,我无法找到推荐的替代品。
在 .NET Core 中是否有一种简单或更好的方法来做到这一点?
【问题讨论】:
-
感谢所有指向其他线程的指针-但过去访问过所有线程我仍然遇到问题-它们都不会编译。每次都有一些参考资料找不到。显然我在这里遗漏了一些明显的东西!小的 sn-ps 没有提供足够的信息(对我来说),比如需要包含或引用的其他内容。 Ctrl-。也没有提出合理的建议。
-
您应该修复证书错误,而不是忽略证书错误。否则根本不需要证书。
-
当然,我 100% 同意你的意见,并且我已经提出了要求,但是服务器不在我的控制之下,也不归我的公司所有,它位于很远的数据中心,我被什么困住了我们有。这是一个很快就会过时的遗留系统,负责维护的人说修复证书不会发生。我的任务是迁移现有数据并捕获新数据,直到它被替换。
标签: c# .net-core ssl-certificate