【问题标题】:WebClient Cookie confusionWebClient Cookie 混淆
【发布时间】:2023-03-03 08:44:31
【问题描述】:

-edit-没关系。我再次运行代码,看来我无法再登录第一个站点了。这一定是一个奇怪的缓存问题或什么的。也许我忽略了一些东西。 WebClient 似乎忽略了 cookie,因此无法登录网站。

我想出了如何使用 WebClient 登录网站。在我尝试的第一个网站上,我可以登录,以下页面将包含我的登录数据。在另一个网站上,情况并非如此,我不得不这样做http://couldbedone.blogspot.com/2007/08/webclient-handling-cookies.html

关于 webclient 中 cookie 的规则是什么?为什么这个网站只能使用替代的 webclient 类?

【问题讨论】:

  • 介意我问你你想登录哪个网站?有机会Hotmail吗?因为我正在解决同样的问题并且即将放弃。顺便说一句,如果您在登录 Yahoo 或 Gmail 时需要帮助,请告诉我。
  • @niaher:你应该改用 POP 或 IMAP。
  • @niaher:不,这只是一个更好地理解 WebClient 的测试。我能够登录的站点是我的,所以当 SLaks 说可能存在安全漏洞时,我想戳他,看看他还会说什么。我测试的另一个站点我已经有使用 HttpWebRequest 的登录代码,所以我只是抓住了它并使用 WebClient 进行了测试。我仍然不知道为什么 cookie 似乎没有登录第二个站点。如果您有准备好登录 yahoo 或 gmail 的代码,我肯定想看看它只是为了知道我是否需要在这些网站上使用处理 cookie 的技巧。
  • 以及 SLaks 所说的。根据要求,我为某人制作了一个应用程序,可以自动检查他们的 gmail,并且使用 IMAP 库,这非常容易。
  • 实际上,在我的情况下,我需要登录才能检索用户的联系人,所以我使用了 OAuth 协议。虽然不完全是登录。

标签: .net cookies webclient


【解决方案1】:

WebClient 完全忽略 cookie。

如果有一个网站可以使用普通的WebClient 登录,则它必须使用 cookie 以外的东西。 (而且它可能有一个安全漏洞)

【讨论】:

  • 安全漏洞?我不这么认为。使用 Tamper Data 我看到服务器返回一个 uid、tid 和一个 httponly sid,所有这些都是 64 位长度。 WebClient 代码调用登录,然后调用几个页面。我不认为它忽略了 cookie。
  • 运行 Fiddler 看看到底发生了什么。
  • 你说得对。看来我不能再登录该网站了。也许有一些缓存正在进行或其他我忽略的东西。
猜你喜欢
  • 2013-04-12
  • 2011-06-23
  • 1970-01-01
  • 2014-02-23
  • 2014-07-09
  • 1970-01-01
  • 2014-05-06
  • 2015-02-02
  • 2011-05-11
相关资源
最近更新 更多