Задать вопрос
@Ambrel

Очень долго работает CURL, что делать?

У меня есть кусок кода, но он работает ну очееееееень долго. Можно ли его как то ускорить ?

<?php

function debug($string) {
	echo "<pre>";
	var_dump($string);
	echo "</pre>";
}

$start_time = microtime(true);

$date = date("Y-m-d", time());

$data_string = '{"Language":"ru","Params":["'. $date .'",null,null,null,null,180],"Vers":6,"Adult":false,"partner":1}';

// ==========================
// 
// DATE
// 
// ==========================

$ch = curl_init('https://1xpng.host/getTranslate/ViewGameResultsGroup');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
	'Content-Type: application/json',                                                                                
	'Content-Length: ' . strlen($data_string))                                                                       
);  
$result = curl_exec($ch);
curl_close($ch);

$array = json_decode(json_encode(json_decode($result)), true)["Data"][4]["Elems"][0]["Elems"];

foreach($array as $value) {
	echo "ID: " . intval($value["Head"][18]) . " , Time: " . date("H:i:s - d.m.Y", $value["Head"][7]) . " , Game: " . $value["Head"][6] . "<br>";
}

$end_time = microtime(true);
echo round(( $end_time - $start_time ), 5) . " сек<br><br><br><br>";
  • Вопрос задан
  • 1382 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Может воспользоваться чем-то асинхронным, типа
curl_multi_ или guzzle?

Что вы пытаетесь сделать вообще?
Ответ написан
megafax
@megafax
CTO in MarTech
Сам курл нормально отрабатывает (согласно скорости сервера, на котором запуск идет) Долго отдается результат, который Вы спрашиваете. Т.е. либо уточняйте его, чтобы меньше данных запрашивать, либо никак.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы