繁体   English   中英

从C ++中的默认浏览器读取Cookie

[英]Reading cookies from default browser in C++

我想创建一个与网站一起使用的C ++应用程序。 为了使应用程序与网站保持同步,我希望能够从用户的默认浏览器中读取一些cookie。 有什么办法吗?

从一般意义上讲,Cookie存储没有真正定义的格式,因此每个浏览器都可以自由选择将Cookie数据库保存在任何位置,无论使用哪种样式。

您可以为主流浏览器(IE,Firefox)实现cookie读取功能,但这会使一些人失望。 这也不是很健壮-当用户清除cookie缓存或使用多个浏览器时会发生什么?

如果要使您的应用程序与网站保持同步,建议您使用应用程序用户配置的用户名/标识符,直接调用该网站上的Web服务(RESTful等)。 这样,您就不会受到最多只能“也许”正确的任意第三方的束缚。

是的,相当琐碎。 定义网络服务http://example.com/capturecookie 跟踪向导 它返回上次为该GUID发送的cookie。 从您的应用程序中,选择一个随机向导。 首先在默认浏览器中使用您的随机GUID调用该Web服务(请参阅其他SO主题),然后在应用程序内部使用相同的GUID调用该Web服务。 第二次,您将获得第一次的cookie。

请注意,“网络浏览器的cookie”的确切概念不一定是精确的。 例如,我的默认Web浏览器(Opera)设置为删除所有存在的cookie,但列入白名单的站点的cookie除外。 因此,example.com是否具有Cookie很大程度上取决于Opera是否正在运行。

Firefox将其所有cookie都存储在cookies.txt中: http : //www.velocityreviews.com/forums/t10844-cookies-in-firefox.html

对于“默认浏览器”,您将不得不为那里的许多不同浏览器编写自定义代码,但这当然是不可能的。 请参阅: http ://www.aboutcookies.org/Default.aspx?page = 2#ie7,以开始学习,并进行谷歌搜索!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM