php Получение задачи https kuvard in api php act get_task Отправка рез

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
// Получение задачи: https://kuvard.in/api.php?act=get_task
// Отправка результата: https://kuvard.in/api.php?act=send_result&number=число_задание&result=результат
// Выполняем команды в фигурных скобках бесконечно
while (true) {
// Запрашиваем число-задание
$number_task = request('get_task');
// Повторяем итерацию с начала
// при ошибке запроса
if ($number_task === null) {
echo "Number-task getting error\n";
continue;
}
// Вычисляем корень квадратный
$result = sqrt($number_task);
// Отправляем результат
$response = request('send_result', [
'number' => $number_task,
'result' => $result,
]);
// Отображение результата в консоль
// в зависимости от ответа сервера
if ($response === 'Success') {
echo '[' . date('Y.m.d H:i:s') . "] $number_task -> $result\n";
} else {
echo '[' . date('Y.m.d H:i:s') . "] $number_task -> $result - response sending error: $response\n";
}
}
/**
* Функция отправки запросов к серверу
*
* @param string $action
* @param array $params
* @return string|null
*/
function request(string $action, array $params = []): ?string
{
$params['act'] = $action;
$url = 'https://kuvard.in/api.php?' . http_build_query($params);
$response = file_get_contents($url);
if ($response === 'Action error') {
exit("Action $action is not exists");
}
return $response === false ? null : $response;
}