0
私は、HTTP POSTメソッドを使用してWebサービスを呼び出し、テキストの下に取得していますは、応答でWebサービスのHTTP POSTを呼び出し
HTTP/1061.1061 1061(私がデバッグでQHttpResponseHeaderを印刷しています)
で適切な応答を取得していないが、実際には、エラーコードまたはxmlを返す必要があります。私は唯一まだここに下位互換性を維持するために推奨されていませんコード
//.cpp file code
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
qDebug() << "start";
http = new QHttp(this); // http declared as a member of MainWindow class
connect(http, SIGNAL(requestFinished(int,bool)), SLOT(replyFinished(int, bool)));
QByteArray data;//(QString("--" + boundary + "\r\n").toAscii());
data += "Content-Disposition: form-data; name=\"action\"\r\n\r\n";
data += "Content-Type: text/xml;charset=\"utf-8\"\r\n\r\n";
data += QString("<LoginData><IMEI>test123</IMEI><email>[email protected]</email></LoginData>").toAscii();
data += "\r\n";
data += "Content-Disposition: form-data; name=\"description\"\r\n\r\n";
data += "\r\n";
QHttpRequestHeader header("Content-Type","application/soap+xml;charset=UTF-8");
header.setValue("Host", "http://xxx.com/restwebservice/ForgotPassword.ashx?");
header.setValue("Accept-Language", "en-us,en;q=0.5");
header.setValue("Keep-Alive", "300");
header.setValue("Connection", "keep-alive");
header.setValue("Referer", "http://xxx.com/restwebservice/ForgotPassword.ashx?");
qDebug() << "the sent data is :" + data;
http->setHost("http://xxx.com/restwebservice/ForgotPassword.ashx?");
http->request(header, data);
ui->setupUi(this);
}
スロット方式
void MainWindow :: replyFinished(int , bool)
{
QHttpResponseHeader responce = http->lastResponse();
qDebug()<<"reply is :" + responce.toString();
}
ありがとう、それが働いていた男.... – Rajesh
ともう一つを使用する必要がありますこのクラスも使用されるか、QHttpを使用する必要があります。 – Rajesh
同じクラス。 QNetworkAccessManager :: post()を使用してデータをアップロードします。 – Koying