[PHP] Pobieranie plików w „losowych” odstępach czasu

Czasami jest potrzeba wykonania sporej ilości zapytań do zewnętrznego (nie naszego) serwera (pobranie danych, ping do ankiety, dodanie posta) – tak, aby (powiedzmy) nie wzbudzić podejrzeń.

Po pierwsze dodajemy skrypt od naszego crona, aby wykonywał się co określony czas np. 5-10 min.
Po drugie w skrypcie wylosujmy, czy chcemy wykonać skrypt, czy nie, np.:

$threshold = 60; //próg
$run = rand(0, 100); // liczba w miarę losowa
if( $run < $threshold ) // sprawdzenie, czy wynik przeszedł prób
{
   die(' --'. $run); // jeżeli nie kończymy zamawę
}

Po trzecie wylosujmy sobie czas zwłoki na wykonanie zadania.

$time = rand(2, 20); // losowy czas
sleep($time); // czekamy.... czekamy...

Po czwarte dla zaśmiecenia zmieniamy nazwę User-Agenta :)

Oczywiście prosta metoda, która może nie jest doskonała, ale czasami się sprawdza :)
…a na pewno jest nieco bardziej subtelna niż:

foreach( $urls as $url ) {
    curl::getPage($url);
}

:)

Tags: , , ,