Я работаю над проектом, где мне нужно зайти на сайт интрасети и получить некоторые данные. Есть несколько примеров вокруг о том, как войти на сайт с помощью программы, однако я не могу использовать эти примеры, как веб-сайт всплывает диалоговое окно входа в систему (Windows Security) следующим образом:C# Войти на сайт
Я попробовал Selenium IDE в Firefox и попытался экспортировать тестовый пример в C#, он не регистрирует действие входа для сайта.
Может ли кто-нибудь помочь мне с этим?
Решение:
Ниже приводится код, который я прибыл в после получения помощи.
String siteUrl = "http://XXXXXXXXXXXXXXX";
String downLoadPageUrl = "http://XXXXXXXXXXXXXXX/Search.aspx";
String mainPageUrl = @"http://XXXXXXXXXXXXXXX/Main.aspx";
String UserName = "aUserName";
String Password = "aPassword";
String Domain = "aDomain";
NetworkCredential myCred = new NetworkCredential(UserName, Password, Domain);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(siteUrl), "NTLM", myCred);
NameValueCollection parameters = new NameValueCollection();
parameters.Add("ExcelExport","true");
WebClient wc = new WebClient();
wc.Credentials = myCache;
Stream sr = wc.OpenRead(siteUrl);
wc.OpenRead(mainPageUrl);
byte[] response = wc.UploadValues(downLoadPageUrl, parameters);
WebHeaderCollection whc = wc.ResponseHeaders;
String excelName = whc["Content-Disposition"];
outputFile = excelName.Split('=')[1];
outputFile = String.Format("{0}\\{1}", Path.GetTempPath(), outputFile);
File.WriteAllBytes(outputFile,response);
Я обновил код C# непосредственно и это сработало! – Abbas
Я разместил решение под своим вопросом. – Abbas