URL: https://data.mtgox.com/api/2/BTCUSD/money/bitcoin/address
Ошибка HTTP 403: Forbidden
Я связался с MtGox, чтобы убедиться, что мой счет имеет надлежащий доступ к API, и это делает. Я создал несколько различных ключи API, так что я знаю, что я использую правильный ключ + секретную комбинацию. Одноразовое значение генерируется из текущего времени, так что я знаю, что все большее временное значение. Я относительно уверен, ни один из этих пунктов не является проблемой.
Я получил мой питон скрипт:
http://pastebin.com/aXQfULyq
Я изменил код, что немного, чтобы соответствовать Python 3.3. Тем не менее, я должен был создать «Rest-Знак» несколько иной, чем в приведенном выше коде. Вот что у меня есть:
Код:
URL = само .__ url_parts + 2 / '+ путь
api2postdatatohash = (путь + CHR (0) + post_data) .encode ( 'UTF-8') #new способ хэширования для API 2, включает в себя путь + NUL
ahmac = base64.b64encode (ул (hmac.new (base64.b64decode (self.secret), api2postdatatohash, hashlib.sha512) .digest ()). кодировать ( 'UTF-8'))
# Создать заголовок для AUTH требующих операций
заголовок = {
"User-Agent": 'Arbitrater',
"Rest-Key": Self.key,
"Rest-Sign": ahmac
}
api2postdatatohash = (путь + CHR (0) + post_data) .encode ( 'UTF-8') #new способ хэширования для API 2, включает в себя путь + NUL
ahmac = base64.b64encode (ул (hmac.new (base64.b64decode (self.secret), api2postdatatohash, hashlib.sha512) .digest ()). кодировать ( 'UTF-8'))
# Создать заголовок для AUTH требующих операций
заголовок = {
"User-Agent": 'Arbitrater',
"Rest-Key": Self.key,
"Rest-Sign": ahmac
}
Для сравнения, вот что другой парень был:
Код:
URL = само .__ url_parts + 2 / '+ путь
api2postdatatohash = путь + CHR (0) + post_data #new способ хэширования для API 2, включает в себя путь + NUL
ahmac = base64.b64encode (ул (hmac.new (base64.b64decode (self.secret), api2postdatatohash, hashlib.sha512) .digest ()))
# Создать заголовок для AUTH требующих операций
заголовок = {
"User-Agent": 'GenBTC-бот',
"Rest-Key": Self.key,
"Rest-Sign": ahmac
}
Обратите внимание на то, как в моем коде, я имел, я должен был кодировать свою строку в UTF-8? Я интересно, если это то, что вызывает у меня, чтобы получить эту запрещенную ошибку. Я не знаю, как другой парень ушел без изменения в UTF-8, потому что сценарий не будет работать, если вы пытаетесь передать строку в b64encode или HMAC.
Кто-нибудь увидеть, что я делаю неправильно? Кто-нибудь из вас, ребята, была такая же проблема? Любая помощь приветствуется. Вот мой полный питон скрипт, если это полезно:
http://pastebin.com/9fY8Jv15