0
它被称为与Bitfinex.QueryPrivate(“订单”) 我已经尝试过没有序列化正文,并与串行化签名和随机数 - 每次500响应错误。我正尝试使用签名密钥连接到Bitfinex API v2。我得到的是响应错误500
我已经为此付出了多日的努力,并会很感激任何帮助。
Imports Microsoft.VisualBasic
Imports System.Net
Imports Newtonsoft.Json.Linq
Imports System.Security.Cryptography
'Gets API data
Public Class Bitfinex
'Read only keys
Private Shared Key As String = "MvHLTsSApwqnSKXYIGvnWWOC8koPoJDxXBoWCj2bZ0g"
Private Shared SecretKey As String = "MyPrivateKey"
Private Shared Version As String = "v2"
Private Shared Url As String = "https://api.bitfinex.com/"
Public Shared Function QueryPrivate(Method As String) As String
Dim Body = ""
Dim JsonBody = Newtonsoft.Json.JsonConvert.SerializeObject(Body)
Dim Nonce As String = ((Date.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds).ToString
Dim Path As String = String.Format("{0}/auth/r/{1}", Version, Method)
Dim Address As String = Url & Path
Dim SignatureString As String = "/api/" & Path & Nonce & JsonBody
Dim Signature = GetSignature(SignatureString, SecretKey)
Try
Dim wc As New WebClient()
wc.Headers.Add("bfx-nonce", Nonce)
wc.Headers.Add("bfx-apikey", Key)
wc.Headers.Add("bfx-signature", Signature)
wc.Headers.Add("content-type", "application/json")
'wc.Headers.Add("User-Agent", "My Bitfinex agent")
Return wc.UploadString(Address, JsonBody)
Catch ex As Exception
Return "0"
End Try
Return ""
End Function
Private Shared Function GetSignature(SignatureString As String, SecretKey As String) As String
Dim SecretKeyBytes = Encoding.UTF8.GetBytes(SecretKey)
Using myHMAC As New HMACSHA384(SecretKeyBytes)
Dim SignatureBytes As Byte() = Encoding.UTF8.GetBytes(SignatureString)
Dim SignatureHash = myHMAC.ComputeHash(SignatureBytes)
Return System.BitConverter.ToString(SignatureHash).ToLower().Replace("-", String.Empty)
End Using
End Function
End Class
[** HTTP status code 500 **](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)被称为_Internal Server Error_,这是服务器端的错误。除了联系他们的支持,我认为除了联系他们的支持之外,你不能做任何事情。 –
Infact你甚至可能想在他们的[** GitHub页面**](https://github.com/bitfinexcom/bitfinex-api-node/issues)上提出这个问题。这会让你直接与开发人员联系,他们应该能够看到你是否做错了什么,或者如果问题出在他们身边(他们不确定他们是否理解VB.NET,所以你可能不得不描述你的代码的功能)。 –
@VisualVincent我觉得很奇怪,自从我公开致电给同一个地址后,我得到了这个错误。我会按照你的意见,并在他们的GitHub页面与他们联系。谢谢。 –