qt截获html请求
来源:互联网 发布:淘宝网大衣外套 编辑:程序博客网 时间:2024/06/04 19:44
QtWebkit加载html页面,html中会有很多的请求,比如<img id="testImg" src="http://*.jpg" width="200" height="200" title="test图片"/>等等,如果想截获这些请求,然后自定义应答...
Q_OBJECT
explicit NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent);
QNetworkReply * createRequest(QNetworkAccessManager::Operation operation, const QNetworkRequest &request, QIODevice *device);
: QNetworkAccessManager(parent) setCache(manager->cache()); setCookieJar(manager->cookieJar()); setProxy(manager->proxy()); setProxyFactory(manager->proxyFactory());
const QNetworkRequest &request, QIODevice *device) if (request.url().scheme() != "http") return QNetworkAccessManager::createRequest(operation, request, device); else return new BlobReply(request.url);
Q_OBJECT
BlobReply(const QUrl &url); void abort();
qint64 readData(char *data, qint64 maxSize);
: QNetworkReply() qDebug() << url.toString();
return -1;
1.定义一个类,继承QNetworkAccessManager(请求)
#ifndef NETWORKACCESSMANAGER_H
#define NETWORKACCESSMANAGER_H
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QNetworkRequest>
class NetworkAccessManager : public QNetworkAccessManager
{
public:
protected:
};
#endif // NETWORKACCESSMANAGER_H
#include "networkaccessmanager.h"
#include <QtCore/QDebug>
NetworkAccessManager::NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent)
{
}
QNetworkReply * NetworkAccessManager::createRequest(QNetworkAccessManager::Operation operation,
{
}
2.定义一个类,继承QNetworkReply(应答)
#ifndef BLOBREPLY_H
#define BLOBREPLY_H
#include <QtNetwork/QNetworkReply>
class BlobReply : public QNetworkReply
{
public:
protected:
};
#endif // BLOBREPLY_H
#include "blobreply.h"
#include <QtCore/QDebug>
BlobReply::BlobReply(const QUrl &url)
{
}
void BlobReply::abort()
{
}
qint64 BlobReply::readData(char *data, qint64 maxSize)
{
}
3.在初始化webview的时候,实例化上面的东东
QNetworkAccessManager *oldManager = ui->webView->page()->networkAccessManager();
NetworkAccessManager *newManager = new NetworkAccessManager(oldManager, this);
ui->webView->page()->setNetworkAccessManager(newManager);
ui->webView->page()->setForwardUnsupportedContent(true);
来自http://blog.sina.com.cn/s/blog_671732440100y3xx.html
0 0
- qt截获html请求
- qt 截获windows消息
- 如何截获url请求信息?
- WebScarab截获浏览器请求配置
- CHtmlView 截获 Html 点击href
- 使用Charles截获http/https请求
- 使用Fiddler截获http/https请求
- UIWebview 截获html并修改内容。
- UIWebView截获html并修改便签内容
- UIWebView截获html并修改内容
- 截获POST或GET请求提交的所有参数
- 使用fiddler截获所有的请求内容并修改
- qt for symbian前后台切换事件的截获处理
- qt for symbian前后台切换事件的截获处理
- Qt 底层输入的截获InputMethod 方法的简单应用
- Qt将控件截获的消息传给父控件
- ios UIWebView截获html并修改便签内容
- ios UIWebView截获html并修改便签内容
- sublime_text中如何使用快捷键打开默认浏览器
- 关于基本控件Spinner属性大全详解
- android学习总结(1)
- [练习4]js学习之图片的水平滚动
- 贪心算法总结
- qt截获html请求
- ZJNU1804SONG F(multiset)
- 添加自定义事件以及对osg事件队列的简单理解
- 在Win10上安装试用Docker
- 创建滚动条浏览大图
- c++内存分配方式
- 马克飞象写博客
- void类型及void指针
- 重写toString函数