Редактировать:
Мне удалось исправить и заменить код, это должно работать для тех, кто еще борется с mtgox API:
Код:
# API
импорт URLLIB, urllib2, JSON
# API-Auth
импорт base64
импорт HMAC
импорт hashlib
время импорта
## [...]
self.counter = 0
self.apikey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
self.secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
self.useragent = "TraspAPInfo"
## [...]
Защиту _url_mtgox (самость, URL, postdict = None, таймаут = 8):
если postdict:
PostData = urllib.urlencode (postdict) # Nonce = ##########
знак = base64.b64encode (ул (hmac.new (base64.b64decode (self.secret), POSTDATA, hashlib.sha512) .digest ())) # Decode секрет от mtgox -> Используйте это в качестве ключа для хеширования POSTDATA -> Кодировать эту строку
Заголовки = {
"User-Agent": Self.useragent,
"Rest-Key": Self.apikey,
"Rest-Sign":знак
}
запрос = urllib2.Request (URL, PostData, заголовки)
еще:
запрос = urllib2.Request (URL)
ответ = urllib2.urlopen (запрос, PostData, тайм-аут = тайм-аут)
возвратные json.loads (response.read ())
## [...]
@pyqtSlot ()
Защиту информация (самость, крик ="доллар США"):
апи = "https://mtgox.com/api/0/info.php"
postdict = {
"данное время": Int (time.time ()) * 1000 + self.counter
}
self.counter + 1 =
jsondata = self._url_mtgox (апи, postdict = postdict)
self.ui.statusEdit.append (jsondata ["бумажники"][плакать]["Баланс"] ["дисплей"]) # Печать Баланс