За последние 24 часа нас посетили 20756 программистов и 1132 робота. Сейчас ищут 387 программистов ...

Что быстрее CURL или file_get_contents ?

Тема в разделе "PHP для новичков", создана пользователем AnteFil, 27 июн 2020.

  1. AnteFil

    AnteFil Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Собственно вопрос в заголовке что быстрее CURL или file_get_contents ? Погуглил малость и нагуглил что быстрее всего будет curl_multi_exec(). Показываю свою конструкцию
    Код (Text):
    1. while ($page++<5) {
    2. //Запуска. первый цикл
    3. $url = "https://site.ru/page=".$page."";
    4. $options = array(
    5.                             'http'=>array(
    6.                             'header'=>'user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
    7.                             'Content-Type: application/json; charset=UTF-8',
    8.                             'Accept-language: en\r\n',
    9.                             "Cookie: foo=bar\r\n",
    10.                                 )
    11.                         );
    12. $context = stream_context_create($options);
    13.                     $file = file_get_contents($url, false, $context);
    14.                     $data = json_decode($file,true);
    15. //Запускаю второй вложенный цикл
    16.                     foreach ($data['items'] as $odin){
    17.                     if($odin['type']['id']=='open'){
    18. $url2 = "https://site.ru/v/".$vak['id']."";
    19. $options2 = array(
    20.                                 'http'=>array(
    21.                                 'method'=>"GET",
    22.                                 'header'=>'user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
    23.                                 'accept: application/json',
    24.                                 'Accept-Charset: utf-8',
    25.                                     )
    26.                                 );
    27.                             $context2 = stream_context_create($options2);
    28.                             $html2 = file_get_contents($url2, false, $context2);
    29.                             $prov_vak = json_decode($html2,true);
    30. //Всё получил данные отправляю в базу
    31. }
    32. }
    Помогите оптимизировать очень много времени выполняется скрипт так как работает с большой базой данных. Работает два цикла!
     
  2. iceblood

    iceblood Активный пользователь

    С нами с:
    20 фев 2020
    Сообщения:
    83
    Симпатии:
    12
    Пробовуй тайминги по коду расставить, что бы понять какая часть кода сколько выполняется.