Как получить страницу по curl, а не через file_get_contents?

Discussion in 'PHP' started by domenz, 31 May 2011.

  1. domenz

    domenz New Member

    Joined:
    18 May 2011
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Как получить страницу по curl, а не через file_get_contents?
    http://www.nulled.cc/showthread.php?t=120708
     
    #1 domenz, 31 May 2011
    Last edited: 31 May 2011
  2. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    PHP:
    $ch curl_init(); 
    curl_setopt($chCURLOPT_URL'/');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    $result curl_exec($ch);
    curl_close($ch);
    В переменной $result будет содержимое страницы.
    Если cURL подключён, всё будет работать.
     
  3. domenz

    domenz New Member

    Joined:
    18 May 2011
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    да, спасибо, еще вопрос:

    в чем преимущество получения страницы через curl, по сравнению с file_get_contents?
     
  4. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    1. Скорость - Работает заметно быстрее
    2. Многопоточность
    3. Возможность использования прокси/отправки своих заголовков(file_get_contents это тоже умеет), установки таймаута и ещё многое
    4. Протоколы - FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, File: и LDAP. Также cURL поддерживает сертификаты HTTPS, методы HTTP POST, HTTP PUT, загрузку на FTP, загрузку через формы HTTP.

    И вообще, cURL, это целая библиотека для упрощения работы со стандартными протоколами которая много чего умеет, а file_get_contents, это только функция.
     
    #4 randman, 31 May 2011
    Last edited: 31 May 2011
  5. domenz

    domenz New Member

    Joined:
    18 May 2011
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Как в этот код добавить ,то что типа браузер имитирует , например Chrome 11?
     
  6. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    В код добавьте
    PHP:
    curl_setopt($chCURLOPT_USERAGENT,'Chrome 11');
     
  7. domenz

    domenz New Member

    Joined:
    18 May 2011
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)',
    'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET CLR 1.0.3705)',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)',
    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; bgft)',
    'Mozilla/4.5b1 [en] (X11; I; Linux 2.0.35 i586)',
    'Mozilla/5.0 (compatible; Konqueror/2.2.2; Linux 2.4.14-xfs; X11; i686)',
    'Mozilla/5.0 (Macintosh; U; PPC; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1',
    'Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1',
    'Mozilla/5.0 (X11; U; Linux 2.4.2-2 i586; en-US; m18) Gecko/20010131 Netscape6/6.01',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Epiphany/1.2.1',
    'Opera/9.0 (Windows NT 5.1; U; en)',
    'Opera/8.51 (Windows NT 5.1; U; en)',
    'Opera/7.21 (Windows NT 5.1; U)',
    'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
    'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.0.6) Gecko/20060928 Firefox/1.5.0.6',
    'Opera/9.02 (Windows NT 5.1; U; en)',
    'Opera/8.54 (Windows NT 5.1; U; en)'