2017-07-25 51 views
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; 
     } 
    } 

任何幫助將不勝感激。

謝謝

+0

你的apiBaseUri是否以HTTPS開頭? –

+0

apiBaseUri確實以https:// – Alex

+1

開頭你應該看看這個。 https://stackoverflow.com/questions/22251689/make-https-call-using-httpclient –

回答