[程式開發日記] C#使用HttpClient時遇到The SSL connection could not be established問題

上次在串接GoogleAPI時沒遇到這個問題
這次串接LineAPI就遇到
不過也都是老問題了
所以記錄一下解決方法

本篇是使用微軟的Nuget套件
Microsoft.AspNet.WebApi.Client
偷偷推薦一下
這套件很方便
底層的請求方法都已經幫你包好了
只需寫幾行程式碼就可以請求一個API
而且還支援Object Mapping功能

附上範例程式碼

var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.SslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslProtocols.Tls11;
handler.ServerCertificateCustomValidationCallback = (a, b, c, d) => { return true; };

HttpClient client = new HttpClient(handler);
//to do requests...

要注意的是第三行
這裡指的是加密協定
如果還是會拋出Exception
就多加其它的協定進去後再試試看

留言