Qt笔记-QWebView完整加载页面及获取cookie
目录
基本概念
代码与实例
基本概念
在使用QWebView的时候,有些情况下,网页是获取不完善的,在此要设置下QWebView的setting
ui.webView->setUrl(QUrl("https://passport.csdn.net/login?code=public"));QWebSettings *settings = ui.webView->settings();settings->setAttribute(QWebSettings::LocalStorageEnabled, true);
下面是获取Cookie:
QList<QNetworkCookie> list = ui.webView->page()->networkAccessManager()->cookieJar()->cookiesForUrl(QUrl("https://www.csdn.net/"));for(int i = 0; i < list.size(); i++){qDebug() << list[i].name() << "\t" << list[i].value();}
代码与实例
程序运行截图如下:
源码如下:
loginweb.h
#ifndef LOGINWEB_H
#define LOGINWEB_H#include <QtWidgets/QWidget>
#include "ui_loginweb.h"class LoginWeb : public QWidget
{Q_OBJECTpublic:LoginWeb(QWidget *parent = 0);~LoginWeb();protected:void timerEvent(QTimerEvent *event);private:Ui::LoginWebClass ui;
};#endif // LOGINWEB_H
loginweb.cpp
#include "loginweb.h"
#include <QWebView>
#include <QWebSettings>
#include <QTimerEvent>
#include <QNetworkCookie>
#include <QNetworkCookieJar>
#include <QDebug>
#include <QUrl>LoginWeb::LoginWeb(QWidget *parent): QWidget(parent)
{ui.setupUi(this);ui.webView->setUrl(QUrl("https://passport.csdn.net/login?code=public"));QWebSettings *settings = ui.webView->settings();settings->setAttribute(QWebSettings::LocalStorageEnabled, true);startTimer(1000);
}LoginWeb::~LoginWeb()
{}void LoginWeb::timerEvent(QTimerEvent *event)
{QList<QNetworkCookie> list = ui.webView->page()->networkAccessManager()->cookieJar()->cookiesForUrl(QUrl("https://www.csdn.net/"));for(int i = 0; i < list.size(); i++){qDebug() << list[i].name() << "\t" << list[i].value();}qDebug() << QString::fromLocal8Bit("--------- 华 丽 的 分 割 线 ---------");
}
main.cpp
#include "loginweb.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);LoginWeb w;w.show();return a.exec();
}
源码下载地址:
https://github.com/fengfanchen/Qt/tree/master/QWebViewPageAndCookie
Qt笔记-QWebView完整加载页面及获取cookie相关推荐
- python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫
其实大部分主流网站都不是静态的html,html和Javascript相结合已经是大势所趋. 本篇以花瓣网主页为例子. 花瓣网主页,右键查看网页源代码,获得的页面是这样的: 如果还是用之前静态页面的那 ...
- Qt笔记-解决Q3DScatter加载QCustom3DItem时Cannot open the file问题
Qt在撸3D程序的时候,这里使用c++去撸,不使用qml. 这里使用QCustom3DItem,然后使用Q3DScatter去加载的时候. 会出现这样的问题, qDebug() << &q ...
- 利用 JQuery的load函数动态加载页面
利用JQuery的load函数动态加载页面 JQuery有好多Ajax函数,其中load是用来动态加载一个页面的内容到指定的dom元素上. 我们来做个例子: 做一个上下(左右)结构的页面,其中下左部分 ...
- 爬取在行平台数据(1)——动态加载页面分析
谈及动态加载页面,最先想到的一种情形是这样的--"加载更多": 面对这种动态加载的页面,要想获得更多的数据,往往需要借助开发者工具进行辅助分析.回归正题,本文依次介绍爬取对象.分析 ...
- vue调用接口获取后台数据_使用Vue实现调用接口加载页面初始数据
使用Vue实现调用接口加载页面初始数据 闲着没事写了一个电影推荐的网页,很简单,使用的是Vue的实现. let vm = new Vue({ el:'#content', data:{ name:'' ...
- 每日分享html特效篇之五个加载页面特效和五个导航按钮特效
我是c站的一个小博主,近期我会每天分享前端知识包括(原生的web语句,以及vue2和vue3,微信小程序的写法及知识点)本篇文章收录于html特效专栏中,如果想每天在我这学到一些东西,请关注我并订阅专 ...
- OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作
OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...
- 公司-弹出页回调之后加载页面
//选择article之后加载页面 function openpageFunction_callback_articleNumber(spanId, articleId){window.locatio ...
- VS2015 Cordova实现WebView加载页面进度条(Android)
因为使用Cordova做app时,加载页面没有进度条,用户无法感知打开进度,故加入进度条,具体实现如下: 1. 如果项目没有生成过apk,需先生成一次,这样在项目下面才会出现platforms/an ...
最新文章
- SAP ABAP ALV构建动态输出列与构建动态内表
- GitHub笔记(二)——远程仓库的操作
- Hello Blazor:(6)你必须踩过这5个坑,才算学会部署Blazor WebAssembly到静态网站
- CruiseControl.NET与TFS结合的配置文件
- 小程序modal控件(显示为弹框) 可有输入框
- 【知识梳理】3.1页面布局
- 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]...
- Julia : 中文字符串的取值 UnicodeError 及解决方案
- ESP8266文档阅读ESP8266 SDK 入门指南
- 服务器控件与Html控件属性值的解释差异
- 从零开始学androidScrollView滚动视图.十八.
- idea2018破解码
- 社会单位消防安全户籍化管理系统——半自动提交V1.0版本
- python无限循环怎么结束_在无限循环中停止python脚本
- MoSE论文中Sequential Synthetic Dataset生成代码(时间序列多任务学习数据集)
- 企业应该怎么运营微信公众号?
- 苹果 CMS 搭建视频网站,定时采集视频
- C语言数组 :用户输入一个数, 我要用这个数当数组的长度。怎么办呢
- 四、无限法则roe-滑雪进阶入门小贴士
- c语言float代码,[求助]float