niestety bez mian, dalej zwraca error 403, na lokalhost dziala. Na Linux VPS od Amazon czy od Vultr zwraca error 403. Są to VPS na ktorych nie mogli mnie zbanować bo nic nie bylo uruchamiane. Jedynie co laczy te VPS to to ze oba maja siedzibe w Japonii tam gdzie binance ma serwery, jeszcze spróbuje postawic nowy VPS w innej lokalizacji z ciekawości zobaczyć czy pójdzie
<?php
define('API_KEY', ''); // Ustaw swój API Key
define('API_SECRET', ''); // Ustaw swój API Secret
define('BASE_URI', 'https://www.binance.com/bapi/composite/v1/public/cms/article/list/query?type=1&pageNo=1&pageSize=1');
/**
* Generuje podpis HMAC dla żądania.
*
* @param string $uri
* @param string $secret
* @return string
*/
function generateSignature($uri, $secret) {
return hash_hmac('sha512', $uri, $secret);
}
/**
* Obsługuje odpowiedź HTTP i przetwarza ją.
*
* @param string $response
* @param int $httpCode
* @return void
*/
function handleResponse($response, $httpCode) {
if ($httpCode >= 200 && $httpCode < 300) {
// Próbuj przetworzyć JSON
$data = json_decode($response, true);
if (json_last_error() === JSON_ERROR_NONE) {
echo "Odpowiedź JSON przetworzona pomyślnie:\n";
print_r($data);
} else {
echo "Błąd w przetwarzaniu JSON: " . json_last_error_msg() . "\n";
}
} elseif ($httpCode === 429) {
echo "Błąd: Zbyt wiele żądań (Too Many Requests).\n";
} elseif ($httpCode >= 300 && $httpCode < 400) {
echo "Informacja: Przekierowanie (Redirect).\n";
} else {
echo "Błąd HTTP: Kod odpowiedzi $httpCode\n";
echo "Treść odpowiedzi: $response\n";
}
}
/**
* Wysyła żądanie HTTP do API Binance.
*
* @return void
*/
function sendRequest() {
$nonce = time();
$sign = generateSignature(BASE_URI, API_SECRET);
$ch = curl_init(BASE_URI);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_ENCODING , "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-MBX-APIKEY: " . API_KEY,
"X-MBX-NONCE: $nonce",
"X-MBX-SIGNATURE: $sign"
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$errorMsg = curl_error($ch);
if ($response === false) {
echo "Błąd cURL: $errorMsg\n";
} else {
handleResponse($response, $httpCode);
}
curl_close($ch);
}
// Wywołanie funkcji
sendRequest();