Написал простенький класс для отправки post запроса. Проблема в том что на строчке
reply = manager.post(request, multiPart);
происходит SEG FAULT. Что я делаю не так?
HTTP_Adapter.h
#ifndef HTTP_ADAPTER_H
#define HTTP_ADAPTER_H
#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QHttpMultiPart>
#include <QDebug>
class HTTP_Adapter : public QObject
{
Q_OBJECT
QNetworkAccessManager manager;
QNetworkReply *reply;
QUrl apiUrl;
QByteArray requestString;
public:
explicit HTTP_Adapter(QObject *parent = 0);
QHttpMultiPart *multiPart;
signals:
public slots:
void getReplyFinished();
void readyReadReply();
};
#endif // HTTP_ADAPTER_H
http_adapter.cpp
#include "http_adapter.h"
HTTP_Adapter::HTTP_Adapter(QObject *parent) : QObject(parent)
{
apiUrl = "http://127.0.0.1/ping/";
requestString = "method=getQuote&format=xml";
QNetworkRequest request(apiUrl);
multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
QHttpPart textPart;
textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
textPart.setBody("my text");
multiPart->append(textPart);
//reply = manager.post(request, requestString);
reply = manager.post(request, multiPart);
multiPart->setParent(reply);
connect(reply, SIGNAL(finished()),this, SLOT(getReplyFinished()));
connect(reply, SIGNAL(readyRead()), this, SLOT(readyReadReply()));
}
void HTTP_Adapter::getReplyFinished()
{
reply->deleteLater();
multiPart->deleteLater();
}
void HTTP_Adapter::readyReadReply()
{
QString answer = QString::fromUtf8(reply->readAll());
qDebug() << answer << endl;
}
main.cpp
#include <QCoreApplication>
#include <http_adapter.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
HTTP_Adapter http;
return a.exec();
}
Здравствуйте, скачал сегодня кандидат-версию Visual Studio 17 ProНу решил посмотреть что да как
На данный момент длина кода - 127 символов без пробелов, табуляция и знаков новой строкиЗадача уменьшить длину кода хотя бы до 125 символов, что...