POST-запрос с использованием QWebkit в Qt / C ++

Я хотел бы автоматизировать процесс заполнения формы в Интернете, отправки запроса и обработки полученной страницы снова и снова (с разными входами).

Я могу получить доступ к странице с помощью QWebPage / connect (с помощью метода, ожидающего сигнала loadFinished). Я могу перемещаться по полям и вводить значения с помощью методов QWebPage, QWebElement firstChild, nextSibling и setPlainText.

Однако я как бы застрял в том, как отправить информацию и получить ответ на почтовый запрос. Из онлайн-руководств похоже, что я могу использовать evalJavaScript (), чтобы щелкнуть кнопку отправки, но я не вижу, как получить / обновить страницу, полученную в результате отправки сообщения. (обратите внимание, что тип содержимого - multipart / form-data, и почтовый запрос отправляется в php-скрипт). Также похоже, что использование класса QNetworkRequest может иметь для этого функциональные возможности, но я не понимаю, как это сделать.


person daj    schedule 25.06.2012    source источник


Ответы (1)


Похоже, что отправка POST с QNetworkAccessManager на соответствующий URL-адрес может сделать это за вас. Вам нужно будет отправить содержимое как QByteArray или QIODevice.

Также ознакомьтесь с этим сообщением о переполнении стека, для потенциального примера.

person Eli Hooten    schedule 25.06.2012
comment
Я в значительной степени лаял не на то дерево, пытаясь найти решение в модуле WebKit, который больше предназначен для просмотра веб-страниц. Модуль QtNetwork - правильный способ решить эту проблему. - person daj; 05.07.2012