当前位置:Gxlcms > PHP教程 > PHP代码转成java代码

PHP代码转成java代码

时间:2021-07-01 10:21:17 帮助过:296人阅读

<?php 

function bter_query($path, array $req = array()) { 
// API settings, add your Key and Secret at here 
$key = ''; 
$secret = ''; 

// generate a nonce to avoid problems with 32bits systems 
$mt = explode(' ', microtime()); 
$req['nonce'] = $mt[1].substr($mt[0], 2, 6); 

// generate the POST data string 
$post_data = http_build_query($req, '', '&'); 
$sign = hash_hmac('sha512', $post_data, $secret); 

// generate the extra headers 
$headers = array( 
'KEY: '.$key, 
'SIGN: '.$sign, 
); 

//!!! please set Content-Type to application/x-www-form-urlencoded if it's not the default value 

// curl handle (initialize if required) 
static $ch = null; 
if (is_null($ch)) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, 
'Mozilla/4.0 (compatible; Bter PHP bot; '.php_uname('a').'; PHP/'.phpversion().')' 
); 
} 
curl_setopt($ch, CURLOPT_URL, 'https://bter.com/api/'.$path); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

// run the query 
$res = curl_exec($ch); 

if ($res === false) throw new Exception('Curl error: '.curl_error($ch)); 
//echo $res; 
$dec = json_decode($res, true); 
if (!$dec) throw new Exception('Invalid data: '.$res); 
return $dec; 
} 

function get_top_rate($pair, $type='BUY') { 
$rate = 0; 

// our curl handle (initialize if required) 
static $ch = null; 
if (is_null($ch)) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, 
'Mozilla/4.0 (compatible; Bter PHP bot; '.php_uname('a').'; PHP/'.phpversion().')' 
); 
} 
curl_setopt($ch, CURLOPT_URL, 'https://bter.com/api/1/depth/'.$pair); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

// run the query 
$res = curl_exec($ch); 
if ($res === false) throw new Exception('Could not get reply: '.curl_error($ch)); 
//echo $res; 
$dec = json_decode($res, true); 
if (!$dec) throw new Exception('Invalid data: '.$res); 

if (strtoupper($type) == 'BUY') { 
$r =  $dec['bids'][0]; 
$rate = $r[0]; 
} else  { 
$r = end($dec['asks']); 
$rate = $r[0]; 
} 

return $rate; 
} 


try { 
// example 1: get funds 
var_dump(bter_query('1/private/getfunds')); 

// example 2: place a buy order 
$pair = 'ltc_btc'; 
$type = 'buy'; 
$rate = get_top_rate($pair, $type) * 1.01; 
var_dump(bter_query('1/private/placeorder', 
array( 
'pair' => "$pair", 
'type' => "$type", 
'rate' => "$rate", 
'amount' => '0.01', 
) 
  ) 
); 

// example 3: cancel an order 
var_dump(bter_query('1/private/cancelorder', array('order_id' => 125811))); 

// example 4: get order status 
var_dump(bter_query('1/private/getorder', array('order_id' => 15088))); 

//example 5: list all open orders 
var_dump(bter_query('1/private/orderlist')); 

} catch (Exception $e) { 
echo "Error:".$e->getMessage(); 

} 
?>

人气教程排行