Я пишу программное обеспечение на C # и .NET для управления моим магазином, на котором есть сайт, на котором вы можете пойти и принять участие в посещении продавца.На этом сайте есть скрытый менеджер, но я хочу, чтобы программное обеспечение делало это вместо этого, эффективно удаляя диспетчер браузера, и первым шагом к этой цели является предоставление программному доступу скрипта PHP, который генерирует требуемый файл XML.
Проблема в том, что механизм входа в систему, написанный на C # и использующий web.config, не позволяет программному обеспечению обращаться к указанному сценарию, который находится внутри защищенной папки для менеджера браузера.Я уже пытался использовать объект HttpWebRequest, объект WebClient с множеством комбинаций записей, учетных данных, потоков и даже специального агента пользователя, чтобы попытаться войти в систему, но безуспешно, я могу только загрузить страницу входа.
Воткод, который я использую для загрузки данных в данный момент (это моя последняя попытка с использованием специального заголовка):
string agent = "AGENT"; //Not real name, it's just confidential
WebClient client = new WebClient();
client.Headers["HTTP_USER_AGENT"] = agent;
client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCompletedEvtHdl);
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChangedEvtHdl);
if (!Directory.Exists(toSavePath))
{
Directory.CreateDirectory(toSavePath);
}
if (File.Exists(toSavePath + filename))
{
File.Delete(toSavePath + filename);
}
client.DownloadFileAsync(new Uri(url), toSavePath + filename);
Страница входа довольно проста, она только передает событие нажатия на кнопку входа, чтобыпроверьте, совпадают ли имя пользователя и пароль в файле web.config.Если это правда, нужно перенаправить страницу, в противном случае ошибка.
Итак, каков наилучший метод для этого?Есть ли способ настроить IIS7 для пропуска аутентификации на этом специальном пользовательском агенте или каком-либо другом настраиваемом заголовке?Или я иду неправильным путем?
Заранее спасибо!