Eu tenho usado HttpClient
para fazer chamadas WebApi usando c #. Parece maneira limpa e rápida em comparação com WebClient
. No entanto, estou atolado ao fazer Https
chamadas.
Como posso fazer o código abaixo para fazer Https
chamadas?
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);
EDIT 1: O código acima funciona bem para fazer chamadas http. Mas quando eu mudo o esquema para https, ele não funciona. Aqui está o erro obtido:
A conexão subjacente foi fechada: Não foi possível estabelecer relação de confiança para o canal seguro SSL / TLS.
EDIT 2: Alterar o esquema para https é: etapa um.
Como forneço certificado e chave pública / privada, juntamente com a solicitação de C #.
new Uri("https://foobar.com/");