TeamCity - 无法通过 API 进行身份验证

TeamCity - Unable to authenticate via API

我最近一直在努力通过 API 在 TeamCity 中进行身份验证。我可以直接在我的浏览器中访问资源 (http://usr:pw@teamcity:8111/httpAuth/app/rest/...),但以编程方式进行 returns 401-Unauthorized。

WebRequest request = WebRequest.Create("http://user:pwd@teamcity:8111/httpAuth/app/rest/projects");
        request.Method = WebRequestMethods.Http.Get;
        try
        {
            request.Timeout = Timeout.Infinite;
             WebResponse response = request.GetResponse(); //Returns 401:Unauthorized

我可以毫无问题地使用 guestAuth(http://teamcity:8111/guestAuth/app/rest/projects),所以 WebRequest 本身应该没有任何问题。

有人有想法吗?

尝试添加您的凭据,然后 request.it 将获得您需要的信息。

    var username = "abc";
    var password = "123";
    var encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
    request.Headers.Add("Authorization", "Basic " + encoded);