Нужна помощь по HttpWebrequest - PullRequest
       20

Нужна помощь по HttpWebrequest

0 голосов
/ 05 января 2011

Привет, ребята. У меня та же проблема, и я пытаюсь ее решить. Здесь подробно у меня есть два веб-сайта WebsiteA и WebSiteB (WebsiteB не в моем контроле, тип черного ящика для меня.).

На обоих сайтах есть отдельная страница входа У меня есть список пользователей, пароль сайта B, который я храню в базе данных. Я хочу своего рода общую страницу входа. Если пользователь входит в систему на веб-сайте A и хочет перейти на веб-сайт B, ему не нужно повторно вводить информацию для входа в систему и пароль. Я не могу коснуться кода сайтаB. это уже развернуто и работает. На веб-сайте B в форме входа в систему они имеют текстовое поле Userid и Password, а также кнопку входа в систему. Этот бутон не является кнопкой отправки. У него есть событие click, которое вызывает функцию для проверки пользователя. это не простой пост. WebsiteB имеет одну веб-страницу с разными фреймами. После входа в систему успешно. Страницы не переходят ни на одну другую страницу, они остаются на той же странице, но загружают другой фрейм. По моим сведениям. Я могу использовать класс httpwebrequest. Но сталкиваюсь со следующей проблемой.

Не могу нажать на кнопку. Response.Redirect не работает. Кажется, что WebsiteB не хранит ничего в куки, потому что куки всегда возвращают мне пустую строку

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

Ответы [ 3 ]

0 голосов
/ 05 января 2011

Не зная, как логин работает на сайте B, я не могу сказать наверняка, но в какой-то момент я уверен, что есть сообщение с информацией для входа. Мое лучшее предположение о решении было бы попытаться подражать тому, что сайт B делает при входе в систему. Используйте firebug и смотрите, что отправлено, а что возвращено. Вам придется подражать этому поведению.

Это может быть что-то вроде: POST учетные данные на сайте B для проверки, возвращает результат проверки. Если проверка прошла успешно, используйте токен из результата проверки, чтобы перенаправить на сайт B.

Опять же, без знания сайта B, я не могу сказать, но что бы он ни делал, он, вероятно, использует обычный http, поэтому вы, вероятно, можете его дублировать. Тем не менее, сайт B может запретить вам входить в систему, принимая вход только с определенных URL.

Что касается использования HttpWebRequest, я думаю, вы обнаружите, что вам лучше иметь скрытую форму, которую вы отправляете с сайта A.

0 голосов
/ 18 января 2011

Привет, я понял.Мы можем создать строку XML и преобразовать строку в байты, а затем использовать обычную функцию записи HttpWebrequest для записи XML.

0 голосов
/ 05 января 2011

HttpWebRequest будет выполняться на сервере WebsiteA. Даже если вы выполните правильный POST-запрос HttpWebRequest для WebsiteB, вы не сможете передать этот файл cookie сеанса в браузер пользователя без немедленного перенаправления на WebsiteB.

Существуют и другие методы единого входа, которые вы, возможно, захотите исследовать - описанный вами подход не будет работать.

...