当前位置:  开发笔记 > 前端 > 正文

Qt QWebView类自定义User-Agent

如何解决《QtQWebView类自定义User-Agent》经验,为你挑选了1个好方法。

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

我找到的唯一相关链接就是这个

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

我现在正在学习C++/Qt,而且我并不了解该网站上的解释.也许有人知道一个简单的方法吗?或者可以帮我理解代码?



1> Kaleb Peders..:

Qt允许您根据URL而不是单个用户代理提供用户代理,无论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标准允许的是什么.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有