最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

問題

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

下面就是問題代碼:

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);
 }
}

原因

因?yàn)樵诎l(fā)出 HTTPS 請求的時(shí)候,HttpClient 都會檢查 SSL 證書是否合法。如果不合法的話,就會導(dǎo)致拋出異常信息,而對方給出的證書是自簽發(fā)的測試接口的證書,所以不是一個(gè)合法的 SSL 證書。

解決

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

最新的代碼如下:

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");
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Asp.Net各種超時(shí)問題總結(jié)

    Asp.Net各種超時(shí)問題總結(jié)

    在數(shù)據(jù)庫或者請求操作時(shí),如果選擇的時(shí)間段過短或操作數(shù)據(jù)量過大,就會遇到"請求超時(shí)"的的問題,網(wǎng)絡(luò)上提供很多解決方案,但普遍不完善,根據(jù)個(gè)人經(jīng)驗(yàn)及參考網(wǎng)絡(luò)解決方案,先將其匯總
    2013-02-02
  • asp.net異步獲取datatable并顯示的實(shí)現(xiàn)方法

    asp.net異步獲取datatable并顯示的實(shí)現(xiàn)方法

    這篇文章主要介紹了asp.net異步獲取datatable并顯示的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了asp.net一步操作datatable的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • 詳解.NET中的加密算法總結(jié)(自定義加密Helper類續(xù))

    詳解.NET中的加密算法總結(jié)(自定義加密Helper類續(xù))

    這篇文章主要介紹了詳解.NET中的加密算法總結(jié)(自定義加密Helper類續(xù)) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • .net開發(fā)微信公眾平臺實(shí)例教程

    .net開發(fā)微信公眾平臺實(shí)例教程

    這篇文章主要介紹了.net開發(fā)微信公眾平臺的方法,對微信公眾平臺開發(fā)的原理與相應(yīng)的.net實(shí)現(xiàn)方法都做了較為詳細(xì)的講述,非常實(shí)用,需要的朋友可以參考下
    2014-10-10
  • ASP.NET MVC5網(wǎng)站開發(fā)文章管理架構(gòu)(七)

    ASP.NET MVC5網(wǎng)站開發(fā)文章管理架構(gòu)(七)

    繼上一篇把member的用戶部分完成,現(xiàn)在開始做文章管理部分。文章部分根據(jù)涉及顯示現(xiàn)實(shí)文章列表,發(fā)布文章,修改和刪除文章等功能。最終的實(shí)現(xiàn)目標(biāo)是使用權(quán)限來控制用戶是否能進(jìn)行相應(yīng)操作,管理員權(quán)限的會顯示全部文章列表和我的文章列表,普通用戶只顯示我的文章列表
    2015-09-09
  • asp.net 動態(tài)創(chuàng)建TextBox控件及狀態(tài)數(shù)據(jù)如何加載

    asp.net 動態(tài)創(chuàng)建TextBox控件及狀態(tài)數(shù)據(jù)如何加載

    接著上文Asp.net TextBox的TextChanged事件你真的清楚嗎?這里我們來說說狀態(tài)數(shù)據(jù)時(shí)如何加載的,需要的朋友可以參考下
    2012-12-12
  • 在ASP.Net?Core應(yīng)用程序中使用Bootstrap4

    在ASP.Net?Core應(yīng)用程序中使用Bootstrap4

    這篇文章介紹了在ASP.Net?Core應(yīng)用程序中使用Bootstrap4的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • 如何利用FluentMigrator實(shí)現(xiàn)數(shù)據(jù)庫遷移

    如何利用FluentMigrator實(shí)現(xiàn)數(shù)據(jù)庫遷移

    這篇文章主要給大家介紹了關(guān)于如何利用FluentMigrator實(shí)現(xiàn)數(shù)據(jù)庫遷移的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 如何限制asp.net中上傳文件的大小的代碼

    如何限制asp.net中上傳文件的大小的代碼

    maxRequestLength是控制上傳大小得參數(shù)請求的最大大?。ㄒ郧ё止?jié)為單位)
    2011-10-10
  • .Net微信網(wǎng)頁開發(fā)解決用戶在不同公眾號或在公眾號、移動應(yīng)用之間帳號統(tǒng)一問題

    .Net微信網(wǎng)頁開發(fā)解決用戶在不同公眾號或在公眾號、移動應(yīng)用之間帳號統(tǒng)一問題

    這篇文章主要介紹了.Net微信網(wǎng)頁開發(fā)解決用戶在不同公眾號或在公眾號、移動應(yīng)用之間帳號統(tǒng)一問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論

肥西县| 类乌齐县| 江山市| 兴化市| 万全县| 吉林省| 潜山县| 东台市| 廉江市| 洮南市| 襄汾县| 延边| 景德镇市| 贵南县| 宿迁市| 阿拉尔市| 灌云县| 陵川县| 旬阳县| 叙永县| 淮滨县| 杨浦区| 五家渠市| 原阳县| 孝昌县| 淳安县| 同德县| 罗田县| 阿克陶县| 烟台市| 奈曼旗| 洪江市| 松江区| 会同县| 中江县| 大姚县| 萍乡市| 石嘴山市| 修武县| 万源市| 筠连县|