Войдите на веб-страницу, используя C #

2

Я хотел бы зайти на определенную веб-страницу и загрузить несколько страниц, как зарегистрированный пользователь. Я думаю, что теоретически знаю, что делать, основываясь на ответе на qaru.site/questions/421148/..., но я понятия не имею, где в адресе я должен ввести учетные данные для входа. В вышеизложенном вопросе это совершенно очевидно, но это не так очевидно в Aukro.
Я был бы очень благодарен за любой avice...:)

  • 0
    Убедитесь, что вы входите с SSL.
  • 0
    Ну, WoW, я должен сказать, каждый ответ был как-то полезен, я бы пометил каждый как принятый ответ, если бы я только мог ... :)
Теги:
ssl
https

4 ответа

1
Лучший ответ

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

Когда вы приземляетесь на https://ssl.aukro.cz/enter_login.php, вы получаете 302 Найдено (что на практике используется для перенаправления). Полный запрос выглядит следующим образом:

Date    Wed, 26 Aug 2009 17:50:05 GMT
Server  Apache
Vary    Accept-Encoding
Set-Cookie  ws2=acda7c76687f; expires=Wed, 26-Aug-2009 18:20:05 GMT; path=/; domain=.aukro.cz
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma  no-cache
Location    https://ssl.aukro.cz/enter_login.php?session=NmQ2YQFRBVABVgFRVFQAXVRXVFZXWlcHBVRVWAcGUF0OUVJWVVRRXFVUBFFTAAcGAFxUA1NSY2JkZQ%3D%3D&global_login_hash=e16bd60f566a0ae3752997bf21844c4ec2bd0d22&session_login_hash=fecd7825582b6d038d288f67c368090aa369c85d&url=OTFhY1hFRkYDHk4UR0YcV0xaEwweUkgZXEMTDEIeU1VaVBIQb1RARFZDTxNYQQ1YVm4FCkIMAzAxMjY%3D
Content-Encoding    gzip
Content-Length  26
Keep-Alive  timeout=2, max=9999
Connection  Keep-Alive
Content-Type    text/html; charset=UTF-8

Вам нужно будет захватить расположение URL и файл cookie, который он устанавливает ( "ws2" ). Затем вам нужно будет зайти на тот URL-адрес перенаправления, который вы захватили, и получить остальные куки файлы, которые он устанавливает, которые ws2, stsd_refr и qeppo_login.

Затем вам нужно заполнить тело POST элементами формы, как указано выше, и в ссылках, которые вы указали.

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

Короче говоря, просто используйте Fiddler или Firebug, чтобы понять, как выглядит сеанс входа в систему, и имитировать его, используя методы, которые вы уже видели.

0

Вам нужно создать запрос POST HTTPS, содержащий следующие значения в теле application/x-www-form-urlencoded:

user_login = <user name>
user_password = <password>
session = "ZTEzMw9RAAcGUlIABQgDVlcBBVAAB1NRAAFQClAAUQADCAdRDgNRAQcDVwsHBQADVAYAAAYBNjA1Yg=="
global_login_hash = "c6da0c2fa41454f62c80d9cc688f4303ebebb9b3"
session_login_hash = "8e5190abcb4cccee78b7331a616c4fb723f7fe41"
url = "OTFhY1hFRkYDHk4UR0YcV0xaEwweUkgZXEMTDEIeU1VaVBIQb1RARFZDTxNYQQ1YVm4FCkIMAzAxMjY="
request_server = "ssl.aukro.cz"

Вы можете начать с подачи значений для user_login и user_password и игнорировать остальные, но невозможно точно знать, что такое сервер. Закодированные значения, конечно, не могут использоваться повторно, и при необходимости вам придется очистить их от страницы входа в систему до входа в систему.

0

Это может быть допустимая альтернативная техника

Необходимые элементы управления для этого:

ID = "user_login"

ID = "user_password"

value = "Přihlásit" (по-видимому, чешский для "Login" )

  • 0
    Интересно, кажется, это могло бы сработать. Я попробую, как только вернусь домой ...
0

Вам нужно будет просмотреть источник веб-страницы и найти <form>, который используется для входа. Это даст вам URL-адрес, который вам нужно будет отправить. Вам нужно будет указать все переменные, которые находятся в тегах <input>, точно так же, как они делали в связанном вами вопросе.

В этом случае вам нужно указать: session, global_login_hash, session_login_hash, url, request_server, user_login, user_password

Один из способов определить, что нужно отправить, - использовать прокси, например Fiddler2, затем использовать веб-браузер с его прокси-сервером установить на Fiddler и войти на веб-страницу. Fiddler предоставит вам заголовки запроса и ответа и текст.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню