Estou tentando obter dados de uma página com CURL para fazer uma analise em meu servidor.
Na primeira requisição do dia eu obtenho Código status 200 ok! (tudo certo, consigo pegar os dados).
Mas se eu tento pegar esses dados novamente, por exemplo, se dou um refresh na página obtenho o seguinte erro.
"close Cache-Control: no-cache Pragma: no-cache "
Com o seguinte HEADER.
"HTTP/1.1 302 Found : Moved Temporarily Location: http://localhost Cache-Control: private, no-cache, max-age=0, no-store, must-revalidate Expires: Thu, 01 Jan 1970 00:00:01 +0000 Pragma: no-cache
Por alguma razão o servidor retorna um código 302 e tenta mover a pagina para localhost, então tenho que esperar até o outro dia para funcionar novamente.
Executando var_dump(curl_error($curl));. Eu tenho : bool(false)
meu código.
<?php $cookie="files/cookies.txt";
$url = "https://extra.bet365.com/ResultsApi/GetResults?sportName=sport&sportId=146&fixtureId=104716787&competitionId=20700663&fromDate=2021-07-01T04:05:00&toDate=2021-07-01T04:05:00&challengeId=62233643&marketOverride=";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($curl, CURLOPT_COOKIEFILE, $cookie);
$headers = array(
"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:89.0) Gecko/20100101 Firefox/89.0",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3",
"Connection: keep-alive",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp); ?>
Penso que seja algo relacionado a cache/ session,
Os cookies não são modificados quando atualizo a pagina que estou tentando pegar pelo meu navegador... E mesmo que fosse o directório do cookie é editável.
Obrigado.