[英]Invalid command error on poloniex using laravel Http facade
從 curl 實現切換到使用 laravel Http 門面來訪問poloniex
私有 Z8A5DA52ED126447D3597E。
但我遇到了問題。 我從 poloniex 收到無效的命令響應,但我的所有參數似乎都可以正常工作。
下面的示例代碼,所有端點都是這種情況,但我們將在此處使用 returnBalances 命令進行測試:
$req = ['command' => 'returnBalances'];
// generate a nonce
$time = explode(' ', microtime());
$req['nonce'] = $time[1].substr($time[0], 2, 6);
$parameters = http_build_query($req, '', '&');
$sign = hash_hmac('sha512', $parameters, $my_secret);
$response = Http::withHeaders(["key" => $my_key, 'Sign' '=> $my_secret])
->post('https://poloniex.com/tradingApi', $req);
上述響應 json 返回:
array:1 [
"error" => "Invalid command."
].
我的代碼工作正常,但直接使用 curl 時,似乎 http 門面沒有發送請求參數
看起來您正在將請求有效負載作為查詢參數發送。
查看文檔,您需要在post()
調用之前添加對asForm()
) 的調用。
下面,假設您的代碼的 rest 是正確的,應該是正確的實現:
$response = Http::withHeaders(["key" => $my_key, 'Sign' => $my_secret])
->asForm()
->post('https://poloniex.com/tradingApi', ['command' => 'returnBalances']);
我相信 Http 客戶端會為您處理 URL 編碼,因此您不需要額外調用http_build_query
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.