如何在qt应用程序中保存http会话
Posted
技术标签:
【中文标题】如何在qt应用程序中保存http会话【英文标题】:How to save the http session in qt application 【发布时间】:2013-07-16 06:58:13 【问题描述】:现在我有一个用 php 编写的 web 服务器。还有一些用于数据库访问的 php 脚本文件。我正在编写一个 Qt 应用程序来向远程 php 脚本发送 get/post 请求。但是,为每个请求验证用户身份并不方便。所以,我想在 Web 服务器上使用会话控制。但我不知道如何在 Qt 应用程序中进行操作。
【问题讨论】:
也许 this 会帮助您在应用中获得 cookie 支持,然后您就可以像在网络浏览器中一样使用会话。 PHP 使用令牌来处理会话身份,该令牌要么保存在 cookie 中,要么通过 url 传递。因此,您只需要在服务启动时传递 WS 返回的令牌即可。让我们看看您的 qt 应用程序的 http 请求部分,以便我们了解您如何处理请求和回答会更有帮助。 @Orangepill 非常感谢,您的评论对我有帮助,cookie 是正确的方法 :) 【参考方案1】:正如Orangepill和PLB所说,解决方案是Passing cookies to the request url
,您可以参考QNetworkAccessManager::setCookieJar
。
步骤
-
实例化
QNetworkAccessManager
对象并为它调用setCookieJar
。
向激活会话的身份验证页面发送 POST 请求。然后你会从cookieJar
中的页面获得cookie。
向域下的页面发送请求时会话处于活动状态。
【讨论】:
以上是关于如何在qt应用程序中保存http会话的主要内容,如果未能解决你的问题,请参考以下文章