Używam HttpClient
do wykonywania wywołań WebApi przy użyciu języka C #. Wydaje się schludny i szybki w porównaniu do WebClient
. Jednak utknąłem podczas wykonywania Https
połączeń.
Jak mogę zrobić poniższy kod, aby wykonywać Https
połączenia?
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://foobar.com/");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/xml"));
var task = httpClient.PostAsXmlAsync<DeviceRequest>(
"api/SaveData", request);
EDYCJA 1: Powyższy kod działa dobrze do wykonywania połączeń http. Ale kiedy zmieniam schemat na https to nie działa. Oto uzyskany błąd:
Połączenie podstawowe zostało zamknięte: nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL / TLS.
EDYCJA 2: Zmiana schematu na https to: krok pierwszy.
Jak dostarczyć certyfikat i klucz publiczny / prywatny wraz z żądaniem C #.
new Uri("https://foobar.com/");