オンライン サーバーで認証しようとしていますが、ダウンロードするページを選択できません。コードは次のとおりです。
Get リクエスト:
QObject::connect(&access, SIGNAL(finished(QNetworkReply*)), &loop_get, SLOT(quit()));
url_str = QString("http://") + info + QString(".server.com");
server_url = QString("t") + info + QString("-") + info + QString(".server.com");
request.setUrl(QUrl(url_str));
reply = access.get(request);
loop_get.exec();
if(reply->error() != QNetworkReply::NoError)
{
throw std::runtime_error(reply->errorString().toStdString());
}
delete reply;
ここでポスト リクエストは、get リクエストが終了した直後に呼び出されます。
QObject::connect(&access, SIGNAL(finished(QNetworkReply*)), &loop_post, SLOT(quit()));
url_str = "/page_wanted?parameters=5&t=3";
//Assembly the message budy
msg_body = QString("message");
//assembly HTTP header
request.setUrl(QUrl(url_str));
request.setHeader(QNetworkRequest::ServerHeader, server_url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlenconded");
request.setHeader(QNetworkRequest::ContentLengthHeader, QString::number(message.size()));
reply = access.post(request, QByteArray(message.toStdString().c_str()));
loop_post.exec();
if(reply->error() == QNetworkReply::NoError)
{
qDebug() <<"that's ok:\n"<<reply->readAll();
}
else
{
qDebug() <<"That's not ok:\n"<<reply->errorString();
}
delete reply;
返されるエラーは次のとおりです。
That's not ok:
"Protocol "" is unknown"
その方法がわかりません。Googleで検索しても、その方法にたどり着く例しか見つかりませんでした。誰かが助けてくれたら、ありがとう。:)