我想从 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");