在Qt / C++中使用QWebkit的POST请求

POST request using QWebkit in Qt / C++

本文关键字:QWebkit POST 请求 Qt C++      更新时间:2023-10-16

我想自动化在网络上填写表单、发送请求以及一遍又一遍地处理结果页面(使用不同的输入)的过程。

我能够使用 QWebPage/connect 访问该页面(使用等待 loadFinished 信号的方法)。我可以遍历字段并使用QWebPage,QWebElement的firstChild,nextSibling和setPlainText方法填充值。

但是,我有点不知道如何提交信息并检索对帖子请求的响应。从在线教程来看,看起来我可以使用 evaluateJavaScript() 单击提交按钮,但我看不到如何获取/刷新由帖子提交生成的页面。(注意内容类型是多部分/表单数据,并且 POST 请求发送到 PHP 脚本)。看起来使用 QNetworkRequest 类可能具有执行此操作的功能,但我不清楚如何操作。

似乎将带有QNetworkAccessManager的 POST 发送到适当的 URL 可能会为您完成此操作。您需要将内容作为QByteArrayQIODevice发送。

另外,看看这个 堆栈溢出 帖子,一个可能的例子。