Path: blob/master/bitget-php-sdk-api/src/internal/BitgetApiClient.php
518 views
<?php123namespace bitget\internal;456use bitget\Config;78class BitgetApiClient extends Config9{10const POST = "POST";11const GET = "GET";1213public function doGet($url, $body)14{15$url = $url . self::buildGetParams($body);16// print_r($url . " ======= url ======\n");17$requestUrl = self::restApiUrl . $url;18$headerArray = $this->getHead(self::GET, $url, null);19$ch = curl_init();20curl_setopt($ch, CURLOPT_URL, $requestUrl);21curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);22curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);23curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);24curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);25curl_setopt($ch, CURLOPT_TIMEOUT, 10);2627$output = curl_exec($ch);28curl_close($ch);29return $output;30}3132function doPost($url, $data)33{34$data = json_encode($data);35$requestUrl = self::restApiUrl . $url;36$headerArray = $this->getHead(self::POST, $url, $data);37$curl = curl_init();38curl_setopt($curl, CURLOPT_URL, $requestUrl);39curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);40curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);41curl_setopt($curl, CURLOPT_POST, 1);42curl_setopt($curl, CURLOPT_POSTFIELDS, $data);43curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArray);44curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);45curl_setopt($curl, CURLOPT_TIMEOUT, 10);46$output = curl_exec($curl);47curl_close($curl);48return $output;49}5051function getHead($method, $requestPath, $body)52{53$timestamp = Utils::getTimestamp();54$sign = Utils::getSign($timestamp, $method, $requestPath, $body, self::apiSecret);55if (self::signType == self::RSA) {56$sign = Utils::getSignByRSA($timestamp, $method, $requestPath, $body, self::apiSecret);57}5859$headerArray = array();60$headerArray[0] = "Content-type:application/json;";61$headerArray[1] = "ACCESS-KEY:" . self::apiKey;62$headerArray[2] = "ACCESS-SIGN:" . $sign;63$headerArray[3] = "ACCESS-TIMESTAMP:" . (string)$timestamp;64$headerArray[4] = "ACCESS-PASSPHRASE:" . self::passphrase;65return $headerArray;66}6768function buildGetParams($para)69{70$arg = "";7172if ($para == null || $para == "") {73return $arg;74}757677// $x = 0;78// foreach ($para as $key => $value) {79// if ($value == "" || $value == null) {80// continue;81// }82//83// $param = $key . "=" . $value;84// if ($x == 0) {85// $arg = "?" . $arg . $param;86// } else {87// $arg = $arg . "&" . $param;88// }89// $x = $x + 1;90// }9192$arg = self::sort_data($para);93if ($arg == null || $arg == "") {94return "";95}96return "?".$arg;97}9899function sort_data($data){100ksort($data);101$result = [];102foreach ($data as $key => $val) {103// array_push($result, $key."=".urlencode($val));104array_push($result, $key."=".$val);105}106return join("&", $result);107}108109}110111