Мне нужно запустить приложение ASP.NET WebAPI (.NET Framework 4.6.1) в сети, находящейся за брандмауэром, и мне нужно вызвать некоторые API, которые размещены вне этой сети. Я могу запустить API с помощью Postman с той же машины без каких-либо проблем, но HTTP-клиент GetAsync перестает работать.
Я создал несколько приложений с использованием шаблонов Visual Studio и поместил в них следующий код (в основном ничего не ожидают код шаблона и следующие строки):
var c = new HttpClient();
var r = await c.GetAsync("https://google.com");
Приведенный выше код прекрасно работает с консольным приложением .NET Framework 4.6.1, но не работает на всех других типах приложений, включая:
- Веб-приложение ASP.NET .NET Framework 4.6.1
- Базовое веб-приложение ASP.NET 2.2
- .NET Core Console Application 2.2
Я также безуспешно пытался обойти сертификат SSL, используя приведенный ниже код.
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
Конечно, что-то в сети вызывает это, но что, с другой стороны, как это работает в .NET Framework, а не в каком-либо другом?
Я устал от публичных сайтов, таких как google.com, и получил тот же результат.
Кто-нибудь сталкивался с такой же проблемой? Любое предложение о том, как его отладить?