POSTデータをサーバーに送信すると、Qtアプリケーションからはすべてが良好に見えますが、HTTP部分のデータ部分は送信されませんでした。 POSTのWiresharkでは、パケットは正しい "Content-Length"値が表示されますが、HTTPセグメント全体のサイズは約226バイトです(POSTデータサイズに依存しません)。QNetworkAccessManagerがPOST要求のデータ部分を送信していません
データ部分が送信されない理由が見つかりません。何か案が?
アプリケーションはコンソールで実行されています。完全な情報源は以下の通りです。
project.pro:
QT += widgets
QT -= gui
QT += network
CONFIG += c++11
TARGET = POSTrequest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
はmain.cppに:
#include <QObject>
#include <QApplication>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QUrl>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QNetworkRequest request(QUrl("http://www.server.com/index.php"));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QNetworkAccessManager manager;
QNetworkReply *reply = manager.post(request, "a=aaaaaa");
QObject::connect(reply, SIGNAL(finished()), &a, SLOT(quit()));
return a.exec();
}
あなたはこれが起こっているあなたの全体の機能やメインを投稿することができますか?マネージャーが範囲外になる可能性があります。 'データは読み込みのために開かれていなければならず、この返信のためにfinished()シグナルが出されるまで有効でなければなりません。' ...だからmanager.post(...)の後に何が起こるのですか? ? –