Cancel exception in code on http-request when server response 200

In my Xamarin.iOS app project I have a critical for me error. When I send request by http at first I get cancel exception and only at second time I have success result. In server access logs I see two success response, and my PHP script run twice too, and in my MySQL base there are 2 INSERT queries from php.

Its critical error for me and have try: - change server, - update my Mac OS(to 10.15.4), - my iPhone (from 13.1.* to 13.4, by the way, in Mysql base I see users with the same problem with older versions of iOS) - update Xcode (11.4) - update Visual Studio (8.5) and Xamarin - update System.Net.Http (4.3.4) - try to set CancellationToken and newClient.Timeout, but it doesn't change something

In code I have additional second try to connect if it cancel. If I remove additional connect I will have just cancellation exception.

Code:

private async Task<string> PostAndHandleHttpRequestAsync(Dictionary<string, string> content)
        {
            var cancellationTokenSource = new CancellationTokenSource();
            cancellationTokenSource.CancelAfter(100000 ); 
            CancellationToken token = cancellationTokenSource.Token;
            var newClient = new HttpClient();
            //client.Timeout = new TimeSpan(0, 1, 0);
            newClient.Timeout = TimeSpan.FromSeconds(200); // this is double the default
            var contentSerialize = JsonConvert.SerializeObject(content);
            try
            {
                var postAsyncResult = await newClient.PostAsync(GlobalSettings.urlToPHP, new StringContent(contentSerialize), token);
                var responseBody = await postAsyncResult.Content.ReadAsStringAsync();
                return responseBody;
            }

           catch (OperationCanceledException c)
            {
               //additional second try
               if (cancellationCounter == 0 ) 
                {
                    Console.WriteLine("second");
                    cancellationCounter = 1;
                    var postAsyncResult = await newClient.PostAsync(GlobalSettings.urlToPHP, new StringContent(contentSerialize), token);
                    Console.WriteLine("secondrio " + postAsyncResult.ToString());
                    var responseBody = await postAsyncResult.Content.ReadAsStringAsync();
                    return responseBody;
                }
                else
                {
                    cancellationCounter = 0;
                    return "Cancel";
                }

                Console.WriteLine("cancel exception " + c.ToString() + c.Message);
                return "Cancel";

            }

            catch (Exception e)
            {
                Console.WriteLine("Error PostAndHandleHttpRequestAsync " + e.Message);
                return "Error";
            }
        }

Please help😒 Logs on server looks like this:

 [31/Mar/2020:14:48:21 +0300] "POST /CPMP-PROD4-10.php HTTP/1.0" 200 116 "-" "CocktailParty/4 CFNetwork/1125.2 Darwin/19.4.0"
[31/Mar/2020:14:48:21 +0300] "POST /CPMP-PROD4-10.php HTTP/1.0" 200 116 "-" "CocktailParty/4 CFNetwork/1125.2 Darwin/19.4.0"
 [31/Mar/2020:14:48:21 +0300] "POST /CPMP-PROD4-10.php HTTP/2.0" 200 116 "-" "CocktailParty/4 CFNetwork/1125.2 Darwin/19.4.0"
 [31/Mar/2020:14:48:21 +0300] "POST /CPMP-PROD4-10.php HTTP/2.0" 200 116 "-" "CocktailParty/4 CFNetwork/1125.2 Darwin/19.4.0"