sto scrivendo una paginetta in PHP sul mio sito che dovrebbe semplicemente effettuare una GET ad una API pubblica del sito sisal.it e salvare la response su file .txt.
Premessa che con le stesse versioni di PHP ed Apache in locale sul mio PC funziona, quando la deployo sul mio sito e la richiamo mi becco (immagino da sisal) un access denied.
Hai sbloccato le connessioni server to server? (da qui). Normalmente però appare un altro messaggio, quindi temo non sia questo il tuo problema.
Se non dovessi risolvere sbloccando le connessioni server2server (attendi 30 minuti e riprova!), puoi mostrarmi l'URL della richiesta? Se la richiesta necessita di parametri POST (per cui utilizzi CURL) e non ci sono password/key private, puoi mostrarmi il tutto? Grazie.
si ho sbloccato le connessioni server to server, e nessun problema a postarti l'intero codice della paginetta :
<?php
// Imposta l'URL da cui fare la richiesta GET
$url = "https://betting.sisal.it/api/vrol-api/vrol/archivio/getArchivioGareEventiSingoli/1/3/1/08-08-2025"; // Sostituisci con il tuo URL
//$url = "https://www.google.com"; // Sostituisci con il tuo URL
$headers = [
'Content-type: application/json',
];
// Inizializza una sessione cURL
$ch = curl_init();
// Imposta le opzioni per la richiesta
curl_setopt($ch, CURLOPT_URL, $url); // URL di destinazione
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Ritorna il risultato come stringa
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0Windows NT 10.0; Win64; x64; rv:141.0 Gecko/20100101 Firefox/141.0');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Esegui la richiesta
$response = curl_exec($ch);
// Controlla se ci sono errori
if (curl_errno($ch)) {
echo "Errore cURL: " . curl_error($ch);
} else {
// Percorso del file dove salvare la risposta
$filePath = "response.txt";
// Salva la risposta nel file
file_put_contents($filePath, $response);
Forse il problema è il check che fa sisal per evitare i bot: visitando quella pagina, noto che ci sisal crea dei cookie, da me si chiamano _abck, ak_bmsc, akaalb_betting_it, bm_sz.
Immagino che quei valori cambiano spesso, si potrebbe pensare di impostarli e comunicarli via CURL, ma bisognerebbe risolvere il problema che questi cambiano nel tempo.
Visto che questa cosa mi sembra un controllo "anti-bot", mi pare che non vogliono che questi valori vengano letti da altri, ma potrei sbagliarmi.
Visto che si tratta di un controllo di sisal, ti suggerirei di chiedere a loro, magari ti forniscono delle API che puoi utilizzare senza problemi.