javascript - QNetworkReply 没有在 HTML Comment 中隐藏 JavaScript

标签 javascript html qt qtnetwork

我正在使用 Qt 4.8 发出 HTTP 发布请求。

void post() {
    QByteArray parameters;
    QUrl url("http://www.somerandomurl.com");

    QNetworkRequest request(url);
    request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

    QNetworkReply* reply = network_access_manager->post(request, parameters);
}

void requestfinished(QNetworkReply* reply) {
    QString response(QString::fromUtf8(reply->readAll()));
    std::cout << response.toStdString() << std::endl;
}

我应该得到的 HTML 页面在 HTML 注释中隐藏了 Javascript。如果我使用 Firefox/Chrome 查看它或使用 Python3 发出 HTTP 请求,我将完全按照我想要的方式使用 Javascript 代码获得评论。看起来像这样:

<script language="JavaScript">
<!--
Javascript Code
Javascript Code
Javascript Code
//-->
</script>

然而,对于 Qt 示例,我只得到没有 Javascript 的评论。

<script language="JavaScript">
<!--
//-->
</script>

有没有办法让 Qt 4.8 也获得 Javascript?

最佳答案

对我来说,这似乎不太可能是由 Qt 过滤 JavaScript 引起的,但更有可能是服务器上的某些东西基于用户代理执行某些操作。尝试调用 request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36"); 在你发送你的请求之前。

另外你的要求看起来有点奇怪。您正在发布内容类型为“application/x-www-form-urlencoded”但未提供任何数据。为什么不直接获取 URL?

此外,如果您可以共享 URL,则调试起来会更容易。当然,如果不可能,那也没关系。

关于javascript - QNetworkReply 没有在 HTML Comment 中隐藏 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474540/

相关文章:

javascript - 无法删除 ui-gmap-google-map 中的选定多边形

javascript - 根据多个下拉选择值使用 javascript 或 jquery 显示隐藏的 div

javascript改变body的行高

html - 下拉菜单栏

javascript - 如何使用jquery使文本加粗

javascript - Grails 下 AngularJS 应用程序中部分 html 的正确路径是什么

c++ - QMutex 与 QThread - 段错误

c++ - OpenCV (C++/Qt) - cornerSubPix 错误

JavaScript:从数字中获取第二位数字?

android - QML WebView 相机权限