88 lines
3.5 KiB
PHP
88 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace App\Traits\Sofascore;
|
|
|
|
trait CurlSofa
|
|
{
|
|
protected function curl(string $url)
|
|
{
|
|
$headers = [
|
|
'User-Agent: '.$this->useragent(),
|
|
'Accept: */*',
|
|
'Accept-Language: de,en-US;q=0.7,en;q=0.8',
|
|
'Accept-Encoding: gzip, deflate, br, zstd',
|
|
'Referer: https://www.sofascore.com/',
|
|
'DNT: 1',
|
|
'Sec-GPC: 1',
|
|
'Connection: keep-alive',
|
|
'Sec-Fetch-Dest: empty',
|
|
'Sec-Fetch-Mode: cors',
|
|
'Sec-Fetch-Site: same-origin',
|
|
'Priority: u=4',
|
|
'Pragma: no-cache',
|
|
'Cache-Control: no-cache',
|
|
'TE: trailers',
|
|
];
|
|
|
|
// 10.208.40.145
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|
// This line magically handles all decompression out-of-the-box:
|
|
curl_setopt($ch, CURLOPT_ENCODING, '');
|
|
$data = curl_exec($ch);
|
|
|
|
$data = json_decode($data, true);
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
protected function useragent()
|
|
{
|
|
$array = [];
|
|
$array[] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36';
|
|
$array[] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36';
|
|
$array[] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15';
|
|
$array[] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0';
|
|
$array[] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0';
|
|
$array[] = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36';
|
|
$array[] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15';
|
|
$array[] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15';
|
|
$array[] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36';
|
|
$array[] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15';
|
|
$array[] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0';
|
|
$array[] = 'Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36';
|
|
|
|
return $array[array_rand($array)];
|
|
}
|
|
|
|
protected function sleep($speed = false)
|
|
{
|
|
switch ($speed) {
|
|
case 1:
|
|
// 5 -10 sec
|
|
$sleep = rand(5000000, 10000000);
|
|
break;
|
|
case 2:
|
|
// 10 - 20 sec
|
|
$sleep = rand(10000000, 20000000);
|
|
break;
|
|
case 3:
|
|
// 30 - 50 sec
|
|
$sleep = rand(30000000, 50000000);
|
|
break;
|
|
|
|
default:
|
|
// 1 -1.5 sec
|
|
$sleep = rand(100000, 150000);
|
|
break;
|
|
}
|
|
|
|
usleep($sleep);
|
|
}
|
|
}
|