Как я могу использовать ASP.NET, чтобы проверить, включены ли куки, не имея веб-страницы? - PullRequest
0 голосов
/ 06 июля 2011

Я работаю над настольным приложением, которое автоматизирует множество веб-сайтов и обрабатывает возвращенные данные. Это приложение будет запущено на сервере, и пользователь подключится к удаленному рабочему столу. Автоматика прерывается, когда на сервере не включены файлы cookie, и вместо того, чтобы приложение перестало работать, я хотел бы проверить настройки сервера и сообщить пользователю, почему он не работает.

Для этого я решил создать веб-службу ASP.NET. Я подумал, что веб-сервис может сохранить куки, а затем попытаться получить доступ к данным. Если данные найдены, куки включены, и все хорошо.

Я прочитал множество учебных пособий, таких как: http://www.csharphelp.com/2006/05/c-and-cookies/, которые объясняют, как хранить и получать доступ к файлам cookie через ASP.NET. Однако все они используют веб-сайт. Пользователь нажимает кнопку, чтобы сгенерировать запрос, и веб-служба может затем отправить ответ. Я не знаю, как заставить этот процесс работать без веб-сайта, и я не хочу автоматизировать сайт моего собственного хостинга. Я чувствую, что должен иметь возможность запускать метод на своем веб-сервисе, и он должен работать.

Кто-нибудь знает, как это будет сделано? Мне нужен веб-сервис, который может обрабатывать запросы и ответы, чтобы я мог создавать, хранить и получать доступ к файлам cookie. Я благодарю вас за любую помощь, которую вы можете предложить.

Натан Торнквист

EDIT:

Я работаю над приложением, управляемым базой данных. Некоторые из них представляют собой автоматизированные веб-сайты, где пользователь вводит некоторые данные, а затем программа открывает элемент управления webBrowser, заполняет формы и затем форматирует полученные данные. Я хотел бы проверить, включены ли файлы cookie на основе привилегий безопасности пользователей, чтобы я мог отключить автоматизацию и позволить пользователю самостоятельно заполнять данные, если это необходимо. Для входа на большинство веб-сайтов требуются файлы cookie.

Это будет работать в различных версиях Windows Server. По умолчанию я думаю, что элемент управления webBrowser имеет те же настройки безопасности, что и Internet Explorer.

Ответы [ 2 ]

1 голос
/ 06 июля 2011
var request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com/");
request.Method =  "Head";
var response = (HttpWebResponse)request.GetResponse();
var usesCookies = !String.IsNullOrEmpty(response.Headers["Set-Cookie"]);
0 голосов
/ 06 июля 2011

Вы можете проверить эти ключи в реестре:

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Настройки Интернета \ Зоны
HKEY_CURRENT_USER \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones

Под этими клавишами вы можете видеть некоторые клавиши, такие как 0, 1, 2, 3 ... Каждая из них является конфигурацией зоны.

Поиск этих записей в каждой зоне:

1A02
1A03
1A05
1A06

Поэтому необходимо проверить, равны ли значения этих записей равным0. 0. 1015 *

См. эти ссылки:

мс кб
вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...