1

我正在尝试调用从 IBM TM1 Cognos 公开的 REST API。使用 HttpWebRequest 对象。当我尝试使用 base64(用户:密码:namespaceId)传递授权标头时得到 401。

4

2 回答 2

1
using (var client = new HttpClient())
{
    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("username:password:camnamespace");
    var encodeData= System.Convert.ToBase64String(plainTextBytes);

    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Add("Authorization", "CAMNamespace "+ encodeData);

    //GET Method  
    HttpResponseMessage response = await client.GetAsync("http://serveraddress/api/v1/Cubes");

    if (response.IsSuccessStatusCode)
    {
        var det = await response.Content.ReadAsStringAsync();        
    }
    else
    {
        Console.WriteLine("Internal server Error");
    }
}
于 2018-03-19T11:35:07.853 回答
0

我认为您需要类似的东西payton: verify=False来信任响应证书。

于 2018-11-01T15:17:55.190 回答