2016-12-22 11 views
-1

サードパーティAPIを呼び出すASP.NETを作成しています。サードパーティのAPIにアクセスできるのは、ユーザー名とパスワードだけです。コントローラで認証が必要なAPIを呼び出す

public string Get(string LabName) 
    { 
     string userName = ConfigurationManager.AppSettings["username"]; 
     string password = ConfigurationManager.AppSettings["password"]; 
     string BaseURL = ConfigurationManager.AppSettings["BaseURL"]; 

     using (var client = new HttpClient()) 
     { 

      Uri uri = new Uri(BaseURL); 
      client.BaseAddress = uri; 
      client.DefaultRequestHeaders.Accept.Clear(); 
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); 
      string clarity_URL = BaseURL+"api/v2/labs?name="+LabName; 
      var response = client.GetAsync(clarity_URL).Result; 

      string responseString = response.Content.ReadAsStringAsync().Result; 
      return responseString; 

誰がどのようにしっかり

+0

APIを呼び出すために私を示唆ASP.NET.CanにAPIを呼び出している間、私はあなたがどのようにあなたのAPIを知っていますユーザー名とパスワードを渡す方法を確認していませんユーザー名とパスワードを受け入れますか?ヘッダーまたはクエリ文字列として? – kat1330

+0

ブラウザに私がAPIにアクセスすると、ユーザ名のパスワードを聞いてきます – user4912134

+0

ユーザ名とパスはさまざまな方法で送信できるので、Apiの仕様を確認してください。トークン、クッキー、ヘッダーなど... – Luther

答えて

0
client.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("username:password"))); 
+0

私はこれを試しました。私が呼んでいるAPIはREST APIなので、認証のために他に何かしなければならないことがあります – user4912134

関連する問題