0

我需要从我的 Windows 应用程序自动登录到网站。我正在使用 HttpWebRequest 但我想要的是

  1. 单击我的应用程序中的按钮。
  2. 打开索引页面(登录后的页面)

原因:我不想输入用户名和密码,我只想点击按钮和任何浏览器(默认浏览器)打开索引页面(登录后的页面)

普通示例:

  1. 我打开一个链接“ http://mail.yahoo.com ”,它会显示一个页面,询问我的电子邮件地址和密码。
  2. 我输入电子邮件 ID 和密码,然后按登录。
  3. 它会将我重定向到我的邮箱页面。

该怎么办 ?

  1. 点击按钮
  2. 自动将我的电子邮件 ID 或用户名和密码发送到网站
  3. 打开我的邮箱页面。

暗示 :

  1. 从 HttpWebRequest 获取 cookie。
  2. 将其设置为浏览器。
  3. 打开浏览器并传递凭据以自动登录

谁能帮我?

4

2 回答 2

1

我也需要解决同样的问题,问题是你列表中的提示点 2。IE。如何在浏览器中设置 cookie,而不限制自己使用特定的浏览器。我得出的结论是,我需要使用标准的“单点登录”逻辑,我们更新网络服务器以使用此处提到的短期令牌... http://msdn.microsoft。 com/en-us/library/ms972971.aspx

在这种情况下,步骤类似于:
1. 在应用程序中 - 使用 HttpWebRequest 登录。
2.获取短期令牌(链接建议有效期仅为2秒)
3.用url打开浏览器 http://MyWebsite>/SignNn?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
4.接下来我需要确认SignOn进程是否可以正确返回cookie。

于 2012-06-12T02:41:20.153 回答
0

我认为您无法以通用方式解决此问题。
在这种情况下通常发生的情况是网页中的表单被提交到 Web 服务器,Web 服务器从表单中读取用户名/密码值,并根据底层用户管理存储库对用户进行身份验证。
您可以为特定站点编写这样的解决方案,通过嗅探器分析身份验证页面中发布的表单,然后自己创建这样的 http 消息并将其发送到相关站点。

于 2012-05-25T09:56:03.850 回答