亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解.NET Core 使用HttpClient SSL請求出錯的解決辦法

 更新時間:2019年03月06日 11:36:24   作者:myzony  
這篇文章主要介紹了.NET Core 使用HttpClient SSL請求出錯的解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

問題

使用 HTTP Client 請求 HTTPS 的 API 時出現(xiàn) The certificate cannot be verified up to a trusted certification authority 異常,并且證書已經傳入。

下面就是問題代碼:

public class Program
{
 public static void Main(string[] args)
 {
  var url = @"https://xxx.xxx.xxx.xxx:xxxx/xxx-web/services/xxxx?wsdl";

  var handler = new HttpClientHandler
  {
   ClientCertificateOptions = ClientCertificateOption.Manual,
   ClientCertificates =
   {
    new X509Certificate2(@"E:\cert\rootTrust.cer","11111111"),
    new X509Certificate2(@"E:\cert\middleTrust.cer","11111111"),
    new X509Certificate2(@"E:\cert\wskey.pfx","ws654321")
   }
  };
  
  var webRequest = new HttpClient(handler);
  var result = webRequest.GetStringAsync(url).GetAwaiter().GetResult();
  Console.WriteLine(result);
 }
}

原因

因為在發(fā)出 HTTPS 請求的時候,HttpClient 都會檢查 SSL 證書是否合法。如果不合法的話,就會導致拋出異常信息,而對方給出的證書是自簽發(fā)的測試接口的證書,所以不是一個合法的 SSL 證書。

解決

HttpClientHandler 當中會有一個 ServerCertificateCustomValidationCallback 事件,該事件用于判定證書驗證是否通過。我們可以掛接該事件,然后邏輯編寫為直接返回 true 結果,這樣就會忽略掉證書異常的情況。

最新的代碼如下:

public class Program
{
 public static void Main(string[] args)
 {
  var url = @"https://xxx.xxx.xxx.xxx:xxxx/xxx-web/services/xxxx?wsdl";

  var handler = new HttpClientHandler
  {
   ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true, 
   ClientCertificateOptions = ClientCertificateOption.Manual,
   ClientCertificates =
   {
    new X509Certificate2(@"E:\cert\rootTrust.cer","11111111"),
    new X509Certificate2(@"E:\cert\middleTrust.cer","11111111"),
    new X509Certificate2(@"E:\cert\wskey.pfx","ws654321")
   }
  };
  
  var webRequest = new HttpClient(handler);
  var result = webRequest.GetStringAsync(url).GetAwaiter().GetResult();
  Console.WriteLine("xx");
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解.Net Core 權限驗證與授權(AuthorizeFilter、ActionFilterAttribute)

    詳解.Net Core 權限驗證與授權(AuthorizeFilter、ActionFilterAttribute)

    這篇文章主要介紹了.Net Core 權限驗證與授權(AuthorizeFilter、ActionFilterAttribute),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • asp.net中Table生成Excel表格的方法

    asp.net中Table生成Excel表格的方法

    這篇文章主要介紹了asp.net中Table生成Excel表格的方法,可實現(xiàn)將html的table表格生成excel的功能,需要的朋友可以參考下
    2015-01-01
  • ASP.NET數(shù)據(jù)庫存取圖片的方法

    ASP.NET數(shù)據(jù)庫存取圖片的方法

    這篇文章主要為大家詳細介紹了ASP.NET數(shù)據(jù)庫如何存取圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 如何使用ASP.NET MiniAPI 調試未匹配請求路徑

    如何使用ASP.NET MiniAPI 調試未匹配請求路徑

    ASP.NET MiniAPI是一個輕量級的Web API框架,它可以讓我們快速地構建和部署RESTful服務,本文給大家介紹使用ASP.NET MiniAPI 調試未匹配請求路徑的方法,感興趣的朋友一起看看吧
    2024-01-01
  • ASP.NET 文件斷點續(xù)傳實現(xiàn)代碼

    ASP.NET 文件斷點續(xù)傳實現(xiàn)代碼

    在文件下載的時候,使用斷點續(xù)傳可以將上次未下載完成的文件繼續(xù)下載,該功能在開發(fā)文件下載的時候非常重要。這里我將介紹一種比較簡單的斷點續(xù)傳功能的實現(xiàn)方法,僅供初學者參考使用
    2012-06-06
  • Asp.net發(fā)送郵件的兩種方法小結

    Asp.net發(fā)送郵件的兩種方法小結

    這幾天看了一下Asp.net發(fā)送郵件方面的東西,記得之前的IIS6上有SMTP服務器,可以直接利用這個進行郵件發(fā)送,現(xiàn)在的開發(fā)環(huán)境是Windows 7,找了半天沒有找到,到網絡上查了才知道原來windows 7和Vista都將SMTP服務器去掉了,現(xiàn)在將兩種方法總結一下。
    2010-06-06
  • 解決ASP.NET回傳后div滾動條位置復位的問題(利用隱藏控件原理)

    解決ASP.NET回傳后div滾動條位置復位的問題(利用隱藏控件原理)

    這篇文章主要介紹了解決ASP.NET回傳后div滾動條位置復位的問題,中心思想是用一個隱藏控件保存當前scorll值?;貍骰貋砗蟾鶕?jù)scrollTop的值,然后在Page_Load中重新設置scrollTop
    2014-01-01
  • asp.net 組件開發(fā)中的內嵌資源引用

    asp.net 組件開發(fā)中的內嵌資源引用

    asp.net 組件開發(fā)中的內嵌資源引用實現(xiàn)代碼,需要的朋友可以參考下。
    2011-12-12
  • Automation服務器不能創(chuàng)建對象的多種解決辦法

    Automation服務器不能創(chuàng)建對象的多種解決辦法

    這篇文章主要介紹了Automation服務器不能創(chuàng)建對象的多種解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 淺析.net core 拋異常對性能影響

    淺析.net core 拋異常對性能影響

    在.net項目中使用自定義異常來處理業(yè)務很爽,但是又擔心大量拋業(yè)務異常存在性能問題,下面通過本文介紹.net core 拋異常對性能影響的求證之路,需要的朋友可以參考下
    2022-06-06

最新評論