Besoin d'aide pour accéder à une API Web externe transmettant des informations d'identification afin d'accéder aux méthodes disponibles. J'ai inclus le code ci-dessous que j'utilise pour tenter d'accéder à l'API Web. Toutefois, je reçois l'erreur suivante chaque fois que j'essaie d'y accéder:MVC accédant à l'API Web externe à l'aide des informations d'identification de connexion
"La connexion sous-jacente a été fermée: Impossible d'établir une relation d'approbation pour le canal sécurisé SSL/TLS."
Qu'est-ce que je manque ou que fais-je de mal? J'ai tourné autour de ceci pendant quelques jours et j'ai essayé quelques techniques différentes mais continue à avoir la même erreur. Voici une technique que j'ai utilisée.
private static async Task<string> GetAPIToken(string userName, string password, string apiBaseUri)
{
try
{
using (var client = new HttpClient())
{
//setup client
client.BaseAddress = new Uri(apiBaseUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//setup login data
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string,string>("username",userName),
new KeyValuePair<string,string>("password",password),
});
//send request
HttpResponseMessage responseMessage = await client.PostAsync("Token", formContent);
//get access token from response body
var responseJson = await responseMessage.Content.ReadAsStringAsync();
var jobject = JObject.Parse(responseJson);
return jobject.GetValue("access_token").ToString();
}
}
catch (Exception ex)
{
return null;
}
}
Toute aide serait grandement appréciée.
Merci
Est-ce que vous apiBaseUri commencer par un HTTPS? –
apiBaseUri commence par https: // – Alex
Vous devriez jeter un oeil à ça. https://stackoverflow.com/questions/22251689/make-https-call-using-httpclient –