0
需要一些帮助访问外部Web API传递凭据以访问可用的方法。我已经包含了我使用的代码,以尝试访问Web API。但是,每当我尝试访问它时,都会收到以下错误消息:MVC使用登录凭证访问外部Web API
“底层连接已关闭:无法建立SSL/TLS安全通道的信任关系。”
我在想什么,或者我做错了什么?我已经绕了几天,并尝试了几种不同的技术,但仍然得到相同的错误。这是我使用的一种技术。
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;
}
}
任何帮助将不胜感激。
谢谢
你的apiBaseUri是否以HTTPS开头? –
apiBaseUri确实以https:// – Alex
开头你应该看看这个。 https://stackoverflow.com/questions/22251689/make-https-call-using-httpclient –