Segmentation fault при отправке POST запроса

531
04 января 2017, 03:02

Написал простенький класс для отправки 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();
}
READ ALSO
Не работает проект на VS17

Не работает проект на VS17

Здравствуйте, скачал сегодня кандидат-версию Visual Studio 17 ProНу решил посмотреть что да как

554
Уменьшить длину кода [требует правки]

Уменьшить длину кода [требует правки]

На данный момент длина кода - 127 символов без пробелов, табуляция и знаков новой строкиЗадача уменьшить длину кода хотя бы до 125 символов, что...

464