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

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

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

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