Я пытаюсь получить доступ к https://api.binance.com/wapi/v3/withdraw.html Конечной точке Binance API
Мне нужно отправить его как почтовый заказ с моим ключом API в заголовке и параметрами в теле запроса.
Мой код написан на c ++, и я использую libcurl.
Функция hmac_sha256 () также работает.
У меня есть этот код:
bool BinanceAPI::make_Withdrawal(string api_key , string secret_key ,string asset , string address , double amount , string &id ){
cout << "BINANCE: MAKE WITHDRAWAL"<<endl;
ArbUtils au;
Json::Value result;
CURL * hand;
bool ret = false;
hand = curl_easy_init();
string url = "https://api.binance.com/wapi/v3/withdraw.html";
string post_data("asset=");
post_data.append( asset);
post_data.append("&address=");
post_data.append(address);
post_data.append( "&amount" );
post_data.append( to_string(amount) );
post_data.append( "×tamp=" );
post_data.append( to_string(au.get_msTime() ) );
string signature = hmac_sha256( secret_key.c_str() , post_data.c_str());
post_data.append( "&signature=" );
post_data.append( signature );
vector<string>extra_http_header;
string header_chunk("X-MBX-APIKEY: ");
header_chunk.append( api_key );
extra_http_header.push_back( header_chunk );
string str_result;
curl_easy_setopt(hand , CURLOPT_URL , url.c_str() );
curl_easy_setopt(hand , CURLOPT_WRITEFUNCTION , BinanceAPI::callback);
curl_easy_setopt(hand , CURLOPT_WRITEDATA , &str_result );
curl_easy_setopt(hand , CURLOPT_SSL_VERIFYPEER , false);
curl_easy_setopt(hand , CURLOPT_ACCEPT_ENCODING , "gzip" );
curl_easy_setopt(hand , CURLOPT_POST , 1);
struct curl_slist *chunk = NULL;
for(int i= 0 ; i < extra_http_header.size() ; i++){
chunk = curl_slist_append(chunk , extra_http_header[i].c_str() );
}
curl_easy_setopt(hand , CURLOPT_HTTPHEADER , chunk);
curl_easy_setopt(hand , CURLOPT_POSTFIELDS , post_data.c_str() );
CURLcode res;
res = curl_easy_perform(hand);
curl_easy_cleanup(hand);
}
Хорошо, теперь я получаю сообщение об ошибке с сервера:
код: -1105
msg: "параметр 'полезная нагрузка' был пуст"
Я пытался и попросил поддержки, но они также не знают ответа.
Я не знаю, почему это так. У меня есть другие конечные точки, к которым имеет доступ та же структура, которым также нужна та же самая форма, и они работают.
Есть идеи, почему это может происходить?