C++ :Cookie不是存储在一台机器上,而是存储在另一台机器上
我正在使用我自己使用 VS 2010 编写的一个小型 C++ 应用程序。 该应用程序使用以下功能通过 HTTPS 访问网站:
InternetOpen(), InternetConnect(), HttpOpenRequest(), HttpSendRequest(),
HttpQueryInfo(), InternetReadFile()
该应用程序在过去 2 年里一直在运行 - 最初 - Win XP 和当前 Win 7 的 32 位计算机上正常运行。 但它无法在 64 位 Win 7 机器上运行,尽管它仍然设置为构建 32 位可执行代码:应用程序无法登录网站。
通过 HTTP 流量嗅探器检查,我注意到一个请求是在没有网站设置 cookie 的情况下完成的。
我的问题是,cookie通常存储在哪里?正如我所说,我没有使用任何库,仅使用上述函数。
不将 cookie 存储在第二台机器中的原因可能是什么?
感谢您的帮助 !
I am using a small C++ app that I wrote myself using VS 2010.
This app accesses a website through HTTPS using these functions :
InternetOpen(), InternetConnect(), HttpOpenRequest(), HttpSendRequest(),
HttpQueryInfo(), InternetReadFile()
The app has been working fine for the last 2 years on a 32-bit machine running -initially- Win XP and currently Win 7 .
But it won't work on a 64-bit Win 7 machine, although it is still set to build 32-bit executable code : the app fails to login to the website.
Checking with a HTTP traffic sniffer, I noticed that one request is done without the cookie set by the website.
My question is, where is the cookie stored normally ? As I said, I'm not using any library, only the aforementioned functions.
And what could be the reason for not storing the cookie in the second machine ?
Thank you for your help !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅 MSDN 中的管理 Cookie。它解释了 cookie 位于 AppData\Roaming\Microsoft\Windows\Cookies\Low 中
我看不出 cookie 机制在 x64 上失败的任何可能原因。我宁愿期望某些本地 (IE) 配置选项生效,禁用该站点的 cookie(例如,该站点位于不同的区域,或者 cookie 被视为第三方)。
See Managing Cookies in MSDN. It explains that cookies live in AppData\Roaming\Microsoft\Windows\Cookies\Low
I can't see any possible reason why the cookie mechanism could fail on x64. I'd rather expect that some local (IE) configuration option is in force that disables use of cookies for that site (e.g. the site being in a different zone, or the cookie being considered 3rd-party).