Bonjour,
Je souhaite convertir le code curl suivant vers powershell
Code Curl : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $apikey='xxx'; $apisecret='xxx'; $nonce=time(); $uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce; $sign=hash_hmac('sha512',$uri,$apisecret); $ch = curl_init($uri); curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign)); $execResult = curl_exec($ch); $obj = json_decode($execResult);
J'en ai déduis ceci, a tort ou a raison.
Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $api_publicKey = "X" $api_privatKey = "Y" $nonce = [Math]::Floor([decimal](Get-Date(Get-Date).ToUniversalTime()-uformat "%s")) echo $nonce $uri = 'https://bittrex.com/api/v1.1/market/getopenorders?apikey=' + $api_publicKey + '&nonce=' + $nonce echo $uri $hmac_sha = New-Object System.Security.Cryptography.HMACSHA512 $hmac_sha.key = [Text.Encoding]::ASCII.GetBytes($api_privatKey) $signature = $hmac_sha.ComputeHash([Text.Encoding]::ASCII.GetBytes($uri)) $signature = [Convert]::ToBase64String($signature) echo $signature $hdrs = @{} $hdrs.Add("apisign",$signature) echo $hdrs $json_bittrex_api = (Invoke-WebRequest $uri -Headers $hdrs).content | ConvertFrom-Json echo $json_bittrex_api
Résultat après exécution.
success : False
message : INVALID_SIGNATURE
result :
Comme vous pouvez le constater la requête aboutie mais visiblement mon apisign n'est pas bonne.
Je suppose que problème provient de mon code powershell pour le calcul de la signature.
Je n'arrive pas à trouver l'erreur.
Auriez-vous une idée.
Merci d'avance.
Partager