Estou entrando no mundo do Bitcoin, e utilizo a exchange Mercado Bitcoin. Eles disponibilizam uma API só que está em Python, consegui desenvolver em Python e está funcionando perfeitamente, agora estou tentando criar essa API mas em PHP só que tem alguma coisa que não está batendo. Vocês podem me ajudar?
Segue o código em Python que está funcionando e o código em PHP em andamento porém não está funcionando.
# Print response data to console
response = conn.getresponse()
response = response.read()
# É fundamental utilizar a classe OrderedDict para preservar a ordem dos elementos
response_json = json.loads(response, object_pairs_hook=OrderedDict)
print ("status: %s" % response_json['status_code'])
print(json.dumps(response_json, indent=4))
finally:
if conn:
conn.close()
Pergunta
felipeferri
Bom dia Pessoal,
Estou entrando no mundo do Bitcoin, e utilizo a exchange Mercado Bitcoin. Eles disponibilizam uma API só que está em Python, consegui desenvolver em Python e está funcionando perfeitamente, agora estou tentando criar essa API mas em PHP só que tem alguma coisa que não está batendo. Vocês podem me ajudar?
Segue o código em Python que está funcionando e o código em PHP em andamento porém não está funcionando.
Código em Python como seria o equivalente em PHP.
# -*- coding: utf-8 -*-
import hashlib
import hmac
import httplib
import json
import urllib
import time
import sys
import decimal
from collections import OrderedDict
# Constantes
MB_TAPI_ID = '******************************'
MB_TAPI_SECRET = '*********************************************************'
REQUEST_HOST = 'www.mercadobitcoin.com.br'
REQUEST_PATH = '/tapi/v3/'
# Nonce
# Para obter variação de forma simples
# timestamp pode ser utilizado:
# import time
# tapi_nonce = str(int(time.time()))
tapi_nonce = 1
# Ordem de compra
params = {
'tapi_method': 'place_buy_order',
'tapi_nonce': '',
'coin_pair': 'BRLLTC',
'quantity': '0.01',
'limit_price': '100'
}
params = urllib.urlencode(params)
# Gerar MAC
params_string = REQUEST_PATH + '?' + params
H = hmac.new(MB_TAPI_SECRET, digestmod=hashlib.sha512)
H.update(params_string)
tapi_mac = H.hexdigest()
# Gerar cabeçalho da requisição
headers = {
'Content-type': 'application/x-www-form-urlencoded',
'TAPI-ID': MB_TAPI_ID,
'TAPI-MAC': tapi_mac
}
# Realizar requisição POST
try:
conn = httplib.HTTPSConnection(REQUEST_HOST)
conn.request("POST", REQUEST_PATH, params, headers)
# Print response data to console
response = conn.getresponse()
response = response.read()
# É fundamental utilizar a classe OrderedDict para preservar a ordem dos elementos
response_json = json.loads(response, object_pairs_hook=OrderedDict)
print ("status: %s" % response_json['status_code'])
print(json.dumps(response_json, indent=4))
finally:
if conn:
conn.close()
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.