たとえば、POSTメソッドでWebページに接続したいので、ログインページ「www.example.com/login」に移動し、ログインに成功した後、たとえば「www.example.com/index.php」に行きたいのですが、何を試しても「www.example.com/login」が返されるため、これを機能させることができません。
これが私のコードです。
QNetworkAccessManager *manager;
manager = new QNetworkAccessManager ();
QNetworkRequest req;
address =("www.example/index.php");
manager->setCookieJar(new QNetworkCookieJar);
req.setHeader(req.UserAgentHeader,"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2");
req.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
req.setUrl(QUrl("www.example.com/login"));
QByteArray postData;
postData.append("login_user=user&");
postData.append("login_passwd=Pass");
connect (manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(writeToTxt(QNetworkReply *)));
manager->post(req, postData);
manager->get(QNetworkRequest(address));
manager->get(QNetworkRequest(QUrl("www.example.com/example.html")));
ここに私のスロットがあります
void HtmlSource::writeToTxt(QNetworkReply* reply)
{
qDebug() << "atsakymas" << endl;
if(reply->isOpen()){
//qDebug() << reply->readAll();
QFile file( "1.txt" );
if ( file.open(QIODevice::ReadWrite) )
{
file.write(reply->readAll());
file.close();
}
}
}