5

我想从 teamcity 中提取工件。

我一直在尝试使用 c# 和 HtmlAgilityPack 来访问该网站并找到最新版本及其工件。我目前卡在登录状态,我想我只需要发送会话 Cookie 即可。

我是否朝着正确的方向前进,有其他人尝试过吗?

我意识到使用构建脚本推出文件很容易,但我想尽量减少对 Ant、NAnt 文件的更改,因为我正在考虑将其扩展到 100 个应用程序。

编辑:这个问题看起来很有前景Getting HTML from a page behind a login

编辑:现在可以了,我只需要编写一些代码来解析它

WebClient ww = new WebClient();
ww.Credentials = CredentialCache.DefaultCredentials;
ww.DownloadString("http://yourteamcity.com/login.html");
ww.Headers.Add("Cookie",ww.ResponseHeaders["Set-Cookie"]);

NameValueCollection post = new NameValueCollection();
post.Add("username", "name");
post.Add("remember","true");
post.Add("submitLogin", "Login");
post.Add("publicKey","long thing to intercept with fiddler");
post.Add("encryptedPassword","not giving you this");
post.Add("_", "");
byte[] values = ww.UploadValues("http://yourteamcity.com/loginSubmit.html", "POST",post);
string s = ww.DownloadString("http://yourteamcity.com/overview.html");
4

1 回答 1

6

有更简单的解决方案,请阅读: http: //www.jetbrains.net/confluence/display/TCD4/Patterns+For+Accessing+Build+Artifacts

于 2008-12-11T01:11:58.093 回答