#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
int main(int argc, char *argv[])
{
//Set headers and URL
QNetworkRequest request;
request.
setUrl(QUrl("https://web.api.url"));
request.setRawHeader("Accept", "*/*");
request.setRawHeader("Authorization", "Basic **********");
request.setRawHeader("Content-Type", "application/json; charset=utf-8");
request.setRawHeader("Accept-Language", "pl-PL,en;q=0.8");
request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
//Create JsonObject
QJsonObject postJson;
postJson["name"] = s;
QJsonDocument doc(postJson);
//Insert Json to QByteArray
QByteArray postData
= doc.
toJson(QJsonDocument
::Compact);
//Print data step-by-step
qDebug() << "QString:" << s;
qDebug() << "QJsonObject: " << postJson;
qDebug() << "QJsonDocument: " << doc;
qDebug() << "QByteArray: " << postData;
QNetworkAccessManager nam;
//Connect finished signal
QObject::connect(&nam,
&QNetworkAccessManager
::finished,
[](QNetworkReply *reply) {
qDebug() << "Reply: " << reply->readAll();
qDebug() << "Status code: "
<< reply->attribute(QNetworkRequest::HttpStatusCodeAttribute)
.toInt();
if(!reply->error()) {
qDebug() << "Error: " << reply->errorString();
}
});
//Start POST request
auto reply = nam.post(request, postData);
//Ignore SSL errors
QObject::connect(reply,
&QNetworkReply
::sslErrors,
[&](const QList<QSslError> &errors) {
reply->ignoreSslErrors(errors);
});
return a.exec();
}
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString s = "Ä…Ä™";
//Set headers and URL
QNetworkRequest request;
request.setUrl(QUrl("https://web.api.url"));
request.setRawHeader("Accept", "*/*");
request.setRawHeader("Authorization", "Basic **********");
request.setRawHeader("Content-Type", "application/json; charset=utf-8");
request.setRawHeader("Accept-Language", "pl-PL,en;q=0.8");
request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
//Create JsonObject
QJsonObject postJson;
postJson["name"] = s;
QJsonDocument doc(postJson);
//Insert Json to QByteArray
QByteArray postData = doc.toJson(QJsonDocument::Compact);
//Print data step-by-step
qDebug() << "QString:" << s;
qDebug() << "QJsonObject: " << postJson;
qDebug() << "QJsonDocument: " << doc;
qDebug() << "QByteArray: " << postData;
QNetworkAccessManager nam;
//Connect finished signal
QObject::connect(&nam, &QNetworkAccessManager::finished,
[](QNetworkReply *reply) {
qDebug() << "Reply: " << reply->readAll();
qDebug() << "Status code: "
<< reply->attribute(QNetworkRequest::HttpStatusCodeAttribute)
.toInt();
if(!reply->error()) {
qDebug() << "Error: " << reply->errorString();
}
});
//Start POST request
auto reply = nam.post(request, postData);
//Ignore SSL errors
QObject::connect(reply, &QNetworkReply::sslErrors,
[&](const QList<QSslError> &errors) {
reply->ignoreSslErrors(errors);
});
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks