Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с POST запросом на Qt. 
:(
    Опции темы
Izosin
Дата 9.7.2018, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Решил создать свой торговый бот, но никак не могу победить post запросы. Get пошел на УРА, а вот на post полный стопор.

Не могу понять как правильно заполнить заголовок запроса:
Код

Код

    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.me/v1/{api_name} где api_name - это наименование API метода

Авторизация осуществляется с помощью отправки на сервер следующих заголовков:

Key — Публичный ключ, его нужно взять настройках профиля пользователя
(пример: K-7cc97c89aed2a2fd9ed7792d48d63f65800c447b)

Sign — POST данные (param=val&param1=val1), подписанные секретным ключом методом HMAC-SHA512, секретный ключ также нужно брать в настройках профиля пользователя.


На другом форуме мне посоветовали отследить трафик с помощью программы WireShark. Но ничего у меня не получилось. Пакеты были настолько разные, что мне кажется они шифрованные. Единственная мысль что ответ от сайта ругается на параметр который передается в зашифрованном виде, вместе с другими параметрами. Получается сайт видит эти данные но не может расшифровать, или эти данные каким либо образом изменяются перед передачей на сайт. Может все дело в настройках ssl, может что то нужно указать явным образом?

Короче говоря: знаний и опыта пока мне не хватает победить эту проблему. Помогите кто чем сможет.
PM MAIL   Вверх
_zorn_
Дата 10.7.2018, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



Цитата(Izosin @  9.7.2018,  21:20 Найти цитируемый пост)
Пакеты были настолько разные, что мне кажется они шифрованные.
 Ну вообще то там https. Его перехватывать сложнее. Но на своем компе ты хозяин. Можно например с помощью https://www.charlesproxy.com/


Это сообщение отредактировал(а) _zorn_ - 10.7.2018, 15:04
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0910 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.