Qt QWebView类自定义用户-代理 [英] Qt QWebView class custom User-Agent

查看:17
本文介绍了Qt QWebView类自定义用户-代理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有简单的方法来设置QWebView类正在使用的User-Agent?

我在搜索中找到的唯一相关链接是

http://www.qtforum.org/article/27073/how-to-set-user-agent-in-qwebview.html

我现在正在学习C++/Qt,我真的不理解该网站上解释的内容。也许有人知道做这件事的简单方法?或者可以帮助我理解该代码?

URL

Qt允许您提供基于推荐答案的用户代理,而不是提供单个用户代理,而不管URL是什么。这样,我们就可以在任何时候创建新网页时返回用户代理:

class UserAgentWebPage : public QWebPage {
    QString userAgentForUrl(const QUrl &url ) const {
        return QString("My User Agent");
    }
};

为了使用该页而不是创建的标准页,您可以在发出请求之前在浏览器控件对象上设置该页:

yourWebView->setPage(new UserAgentWebPage(parent));

我实际上希望某个地方有工厂来保证创建的网页始终是某种类型,但我没有看到。

还有一个选项应该是在QNetworkRequest

中设置用户代理头
QNetworkRequest request = new QNetworkRequest();
request->setRawHeader(
    QString("User-Agent").toAscii(),
    QString("Your User Agent").toAscii()
    );
// ... set the URL, etc.
yourWebView->load(request);

您实际上需要检查它是toAscii()toUtf8()还是其他变体之一,因为我不确定HTTP标准到底允许什么。

这篇关于Qt QWebView类自定义用户-代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆