c# – HttpClientを使用したXamarinのWebException

私はC#でxamarinを使用する方法を学んでいます、そして私は外部のAPIにウェブリクエストをするためのアンドロイドアプリを持っています、そして私は以下のエラーを受けています。

System.Net.Http.HttpRequestException: An error occurred while sending the 
request ---> System.Net.WebException: Error: SecureChannelFailure (The   
authentication or decryption has failed.) ---> System.IO.IOException: The 
authentication or decryption has failed. ---> System.IO.IOException: The 
authentication or decryption has failed. ---> 
Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.

私のコードは以下の通りです。

public async Task<List<T>> GetList<T>(string url)
    {
        HttpClient client = new HttpClient();
        var response = await client.GetAsync(new Uri(url));
        response.EnsureSuccessStatusCode();
        var content = await response.Content.ReadAsStringAsync();
        return JsonConvert.DeserializeObject<List<T>>(content);
    }

AndroidのMainClassは、このサービスクラスを呼び出すコアクラスを呼び出します。

HttpClientリクエストは、APIがHTTPSを使用していない場合には機能しますが、HTTPSが有効になっているAPIを使用すると必ずこのエラーが発生します。

私はコードの保存にもPortable Class Libraryを使っているので、WebリクエストにHttpWebRequestを使うことはできません。

私も試してみました。

ServicePointManager.ServerCertificateValidationCallback += (o, certificate, chain, errors) => true;

そして;

System.Security.Cryptography.AesCryptoServiceProvider b = new System.Security.Cryptography.AesCryptoServiceProvider();

私のアプリケーションではOnCreateクラス(アンドロイド)。

SSL / TLSの実装を1.1に変更するとともに、HttpClientの実装をAndroidClientHandlerに変更しました。エミュレータとデバイスでこれを試すことと一緒に。

誰かアドバイスがありますか?

ベストアンサー
これを試して:
Androidプロジェクトプロパティを開く – > Androidのオプション – >高度な

HttpClient実装設定をデフォルトからAndroidに切り替えます

HTTPSではデフォルトのMonoクライアントハンドラが壊れているようです。

転載記事の出典を記入してください: c# – HttpClientを使用したXamarinのWebException - コードログ