2012-06-25 5 views
0

웹에서 양식을 작성하고 요청을 보내고 결과 페이지를 반복하여 처리하는 과정을 자동화하고 싶습니다.Qt/C++에서 QWebkit을 사용한 POST 요청

QWebPage/connect (loadFinished 신호를 기다리는 방법)를 사용하여 페이지에 액세스 할 수 있습니다. QWebPage, QWebElement의 firstChild, nextSibling 및 setPlainText 메소드를 사용하여 필드를 탐색하고 값을 채울 수 있습니다.

그러나 정보를 제출하고 게시 요청에 대한 응답을 검색하는 방법에 관해서는 다소 방해가됩니다. 온라인 자습서에서 evaluateJavaScript()를 사용하여 제출 단추를 클릭 할 수있는 것처럼 보이지만 게시 제출 결과 페이지를 가져 오거나 새로 고치는 방법을 볼 수 없습니다. (콘텐츠 유형은 multipart/form-data이며 게시물 요청은 PHP 스크립트로 전송됩니다). 또한 QNetworkRequest 클래스를 사용하여이 작업을 수행 할 수있는 것처럼 보이지만 어떻게해야할지 명확하지 않습니다.

답변

0

해당 URL에 QNetworkAccessManager과 함께 POST를 보내는 것이 좋습니다. 내용을 QByteArray 또는 QIODevice으로 보내야합니다.

잠재적 인 예를 보려면 this Stack Overflow post을 살펴보십시오.

+0

저는 웹킷을 보는 것보다 더 많은 WebKit 모듈에서 솔루션을 찾으려고하는 잘못된 트리를 꽤 많이 짖고있었습니다. QtNetwork 모듈은이 문제를 해결하는 올바른 방법입니다. – daj