@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>";
  • Вопрос задан
  • 1314 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Может воспользоваться чем-то асинхронным, типа
curl_multi_ или guzzle?

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

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

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