9

最近、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自体に問題はないはずです。

誰にもアイデアがありますか?

4

1 に答える 1

7

資格情報を追加してからリクエストを作成してみてください。必要なものが得られます。

    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);
于 2015-06-29T13:27:56.900 に答える