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

fro*_*ods 9 c# authentication rest teamcity-9.0

我最近一直在通过API在TeamCity中进行身份验证.我可以直接在我的浏览器中访问资源(http:// usr:pw @ teamcity:8111/httpAuth/app/rest/..),但以编程方式执行此操作会返回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
Run Code Online (Sandbox Code Playgroud)

我可以使用guestAuth(http:// teamcity:8111/guestAuth/app/rest/projects)而没有任何问题,因此WebRequest本身应该没有任何问题.

有没有人有想法?

Jag*_*raj 7

尝试添加您的凭据,然后发出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);
Run Code Online (Sandbox Code Playgroud)