Решил создать свой торговый бот, но никак не могу победить post запросы. Get пошел на УРА, а вот на post полный стопор.
Не могу понять как правильно заполнить заголовок запроса:
C++ (Qt)
nonce = 123457;
QString nonce_ = QString::number(nonce);
QString st = "nonce=" + nonce_;
QString key = "S-";
QMessageAuthenticationCode code(QCryptographicHash::Sha512);
code.setKey(key.toUtf8());
code.addData(st.toUtf8());
QByteArray Signature = code.result().toHex();
ui->textBrowser->insertPlainText(Signature);
ui->textBrowser->insertPlainText("\n");
QByteArray reqdata;
QNetworkRequest request;
request.setUrl(QUrl("https://api.exmo.me/v1/user_info"));
request.setRawHeader("Key", "K-");
request.setRawHeader("Sign", Signature);
qDebug() << request.rawHeaderList();
qDebug() << Signature;
QNetworkAccessManager *manager2 = new QNetworkAccessManager(this);
connect(manager2, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_load(QNetworkReply*)));
manager2->post(request,reqdata);
Выдает ошибку: 40007: Incorrect format parameter 'nonce'
Есть рабочий пример написанный на Python, немного видоизменил его что бы он посылал только один запрос, с теми же параметрами что и у меня. Параметр Sign совпадает до последнего символа. Python выдает корректный ответ. Никак не могу понять в чем моя ошибка.
Требования сайта звучат следующим образом:
Authenticated API
Для доступа к данному API требуется авторизация и необходимо использовать POST метод.
URL — необходимо использовать следующий адрес
https://api.exmo.com/v1/{api_name} где api_name - это наименование API метода
Авторизация осуществляется с помощью отправки на сервер следующих заголовков:
Key — Публичный ключ, его нужно взять настройках профиля пользователя
(пример: K-7cc97c89aed2a2fd9ed7792d48d63f65800c447b)
Sign — POST данные (param=val¶m1=val1), подписанные секретным ключом методом HMAC-SHA512, секретный ключ также нужно брать в настройках профиля пользователя