TeamCity-无法通过API进行身份验证
本文关键字:身份验证 API TeamCity- | 更新日期: 2023-09-27 18:00:15
最近我一直在努力通过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
我可以使用guestAuth(http://teamcity:8111/guestAuth/app/rest/projects)没有任何问题,所以WebRequest本身应该没有任何问题。
有人有主意吗?
尝试添加您的凭据,然后提出请求。它将得到您所需要的。
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);