找回密码
 立即注册
收起左侧

Qt用cef内嵌的浏览器中去获取cookie

10
回复
8176
查看
[复制链接]
累计签到:912 天
连续签到:3 天
来源: 2019-3-23 23:58:02 显示全部楼层 |阅读模式
100Qter豆
本帖最后由 红尘氵梦 于 2019-3-27 11:07 编辑

求Qt用cef内嵌的浏览器中去获取cookie的实例代码

最佳答案

查看完整内容

你的cef不是自己下载源码编译的吗 http://opensource.spotify.com/cefbuilds/index.html
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2019-3-23 23:58:03 显示全部楼层
你的cef不是自己下载源码编译的吗 http://opensource.spotify.com/cefbuilds/index.html

点评

cef的demo有些大,我用QWebEngineView去做,不过还是谢谢你的帮助  详情 回复 发表于 2019-3-27 11:10
参与人数 1人气 +3 收起 理由
红尘氵梦 + 3 一般般!

查看全部评分总评分 : 人气 +3

回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-25 15:42:02 显示全部楼层
那有人知道,通过QWebEngineView模块去登录一个页面,登录之后怎么获取相应的cookie??

点评

用QWebEngineView获取cookie的方式也记录一下,给其他人做个参考。QWebEngineView没找到直接去响应中的set-cookie,所以通登录后的界面去获取cookie,可以有两种方式去做: 方法1:此方法有些网页有可能获取不到,或  详情 回复 发表于 2019-3-27 11:23
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2019-3-26 09:39:21 显示全部楼层
当没人回答你的时候,看看源码里的test或demo吧

点评

请问是哪里的源码?可以具体说所吗?  详情 回复 发表于 2019-3-26 10:40
回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-26 10:40:56 显示全部楼层
一叶知秋 发表于 2019-3-26 09:39
当没人回答你的时候,看看源码里的test或demo吧

请问是哪里的源码?可以具体说所吗?
回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-27 11:10:35 显示全部楼层
一叶知秋 发表于 2019-3-27 10:17
你的cef不是自己下载源码编译的吗 http://opensource.spotify.com/cefbuilds/index.html

cef的demo有些大,我用QWebEngineView去做,不过还是谢谢你的帮助
回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-27 11:23:58 显示全部楼层
红尘氵梦 发表于 2019-3-25 15:42
那有人知道,通过QWebEngineView模块去登录一个页面,登录之后怎么获取相应的cookie?? ...

用QWebEngineView获取cookie的方式也记录一下,给其他人做个参考。QWebEngineView没找到直接去响应中的set-cookie,所以通登录后的界面去获取cookie,可以有两种方式去做:
方法1:此方法有些网页有可能获取不到,或者会得到不完整的cookie
m_webView->page()->runJavaScript("function GetCookie(){return document.cookie}");
    m_webView->page()->runJavaScript("GetCookie();",[](const QVariant& v){
        qDebug()<<v.toString();
    });
方法2:QWebEngineView没找到一次性获取cookie,只能通过获取一次次的字段存到map中,最后在把map中的字段拼接起来
connect(m_webView->page()->profile()->cookieStore(), SIGNAL(cookieAdded(const QNetworkCookie &)),
            this, SLOT(slog_cookieAdded(const QNetworkCookie &)));
void Widget::slog_cookieAdded(const QNetworkCookie &cookie)
{
        m_mapCookie[cookie.name()]=cookie.value();
}
QString Widget::GetCookie()
{
    m_strCookie.clear();
    QMap<QString,QString>::iterator it;
    for (it=m_mapCookie.begin();it != m_mapCookie.end();++it)
    {
        m_strCookie.append(it.key()+"="+it.value()+";");
    }

    return m_strCookie;
}

点评

有始有终,赞一个。。。。。。  发表于 2019-3-27 14:42
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了