2015-05-01 2 views
0

Я пытаюсь создать небольшое приложение, которое регистрируется на веб-сайте, сканирует сайт и сохраняет различные фрагменты данных. У меня возникли проблемы с созданием веб-клиента, который регистрируется на веб-сайте. Я рассматривал различные решения, представленные здесь на сайте, и решения, предлагаемые пятью страницами поискового запроса Google. Все они не дали результата ...Войдите на сайт .NET, чтобы очистить данные

Сайт работает .NET, поэтому мне интересно, является ли это представлением, вызывающим проблемы?

Используя решение, предложенное здесь: Login to website, via C# я могу видеть только SESSIONID печенье - не .ASPXAUTH куки, которые должны быть там после входа в

Предложения.?

+0

Каждый веб-сайт делает аутентификации по-разному, так что нет никакой гарантии, что метод на одном сайте будет работать на другой, я буду голосовать, чтобы закрыть, извиняться ! – JMK

+0

http://stackoverflow.com/questions/1777221/using-cookiecontainer-with-webclient-class –

+0

Тот факт, что он является веб-сайтом .NET, * в значительной степени * нерелевантен; http является http является http; однако маловероятно, чтобы владельцы сайтов * хотели, чтобы вы это сделали, - если бы они это сделали, они создали бы API –

ответ

0

Я хотел бы предложить вам следовать этому плану:

1) Установить и запустить Fiddler

2) Очистите кэш браузера и куки.

3) Перейдите на страницу, логин и посмотреть, что происходит в стельку, проверить запрос и Свои замечания, перенаправляет и т.д.

в большинстве случаев поток

GET Войти страница ->

POST полномочие на страницу авторизации и получить кук/хэш в ответ ->

GET санкционированной страницы с помощью этого куков/хэш.

После вы знаете шаги, то они легко достичь с помощью WebClient или даже лучше HttpWebRequest и HttpWebResponse

См my answer помощи

+0

Что произойдет, если они проведут проверку секретных токенов? например Анти-Forgery токен –

+0

@JamieRees токен антифригации будет отправлен на этапе POST, так что вам нужно разобрать первый ответ GET, где он должен быть на странице, и отправить его в POST – VladL

0

Я предложил бы использовать некоторые программы автоматизации браузера, например, Селен для этого. Таким образом, вы действительно можете стимулировать браузер, чтобы он мог войти в систему, а затем очистить данные.

Вот хороший пример того, как это сделать: http://scraping.pro/example-of-scraping-with-selenium-webdriver-in-csharp/

Смежные вопросы