Почему File_get_contents работает слишком медленно?

Использую file_get_contens для работы со STEAM, но почти сразу же столкнулся с очень интересной проблемой:

$_MYKEY = "93291431A019B3FD12444E8377901C45";
   $_MYID  = "76561198018795706";
      
       $Time = time();
       $Response = file_get_contents("http://steamcommunity.com/profiles/".$_MYID."/inventory/json/570/2");
       $Time2 = time();
       echo '1  ='.($iTime2 - $iTime)."<br></br>";

       $iTime = time();
       $Response2 = file_get_contents("http://api.steampowered.com/IEconItems_570/GetPlayerItems/v0001/?key=".$_MYKEY."&format=json&language=ru&steamid=".$_MYID);
       $iTime2 = time();
       echo '2  ='.($iTime2 - $iTime)."<br></br>";


В первом случае file_get_contens получает страницу в 1.5мб, время работы 1-3 секунды,
Во втором случае страница весит всего 300кб, но грузится она в разы дольше, от 5 и более секунд, в то время как в браузере открывается практически мгновенно. Как это исправить и есть ли альтернативный, более продуктивный способ получить нужную мне информацию?
  • Вопрос задан
  • 3592 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
curl и multy_curl.

Можете через wireshark и т.д. промониторить что где тупит.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
Попробуйте отправить заголовок (скорее всего можно через context добавить):
Connection: closed
Браузеры с этим нормально дружат, а file_get_contents() висит до таймаута пока не отвалится.
Можно попробовать curl, через сокет отправить запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 мая 2024, в 23:24
300 руб./в час
17 мая 2024, в 22:37
20000 руб./за проект
17 мая 2024, в 22:33
1000 руб./за проект