Curl

Discussion in 'PHP' started by incognito, 28 Jun 2006.

  1. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    раньше я использовал curl но сейчас меня обнаружили!
    и в куках пишет This file was generated by libcurl!
    что я делаю не так!!!
     
  2. OFF1genny_su1c1D

    OFF1genny_su1c1D New Member

    Joined:
    29 Apr 2006
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    На сколько я знаю curl это качалка для nix-ов... Причем здесь куки и то что тебя "обнаружили"(кстати кто?)? Наверное не только я чего-то в твоей мессаге не понял. Поясни если не трудно.
     
  3. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    я про библиотеку под php
    сейчас меня определяют то есть что я загружаю страницу спомощью curl!
     
  4. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    передавай хидер и все такое.. что может быть определено как буто ты сидишь под браузером.. тут все можш прочитать http://ru.php.net/manual/ru/ref.curl.php
     
  5. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    $url="http://sait.ru/cat/1/";
    $ch = curl_init ($url);
    $header[] = "GET /cat/1/ HTTP/1.1";
    $header[] = "Accept: */*";
    $header[] = "Referer: http://www.ya.ru";
    $header[] = "Accept-Language: ru";
    $header[] = "Accept-Encoding: gzip, deflate";
    $header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)";
    $header[] = "Host: sait.ru";
    $header[] = "Connection: Keep-Alive";

    все равно не работает
     
  6. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    может дело в куках - т.е. тебе нужно еще добавить возможность ставить сайтом печенье?
     
  7. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    сделал вот что в куки записывает
    # Netscape HTTP Cookie File
    # http://www.netscape.com/newsref/std/cookie_spec.html
    # This file was generated by libcurl! Edit at your own risk.

    sait.ru FALSE / FALSE 0 PHPSESSID 75e81c126a718f157bf92c7cdcf8e29b
     
  8. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    профи по curl отзовитесь
     
  9. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    юзай сокеты. Все профи пишут через сокеты =) (или почти все)
     
  10. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    а curl разве
    не через сокеты пашет?
     
    #10 incognito, 28 Jun 2006
    Last edited: 28 Jun 2006
  11. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    бред.
     
  12. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    может еще все профи пишут свою ос?
     
  13. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    Я к тому свожу, что если бы топикстартер писал через сокеты, то никаких "This file was generated by libcurl" он бы не получал, ибо глубже бы знал "как это работает".
    Темболее подобная тема (формирование запросов) уже нираз подымалась в этом форуме.

    В своё время я тоже пользовался curl, до тех пор пока не сталкнулся с проблемой, которую через curl решить нельзя. Потратил несколько часов на изучение http запросов. Зато теперь радости полные штаны.
     
  14. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    может подкините ссылок на доки по http запросам
     
    #14 incognito, 28 Jun 2006
    Last edited: 28 Jun 2006
  15. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    Это пример запроса на CURL:
    http://forum.antichat.ru/showthread.php?t=5795
    (кстати, в доказательство, что я тоже CURL пользовался =) )

    Пример Post Get через сокеты.
    PHP:
        function Get($server,$url,$cookie=null)
        {
            
    $q="GET $url HTTP/1.0\r\n";
            
    $q.="Host: $server\r\n";
           
    $q.="Cookie: $cookie\r\n";
            
    $s=fsockopen($server,80);
            
    fputs($s,$q);
            while (!
    feof($s)) $page.=fgets($s);
            
    fclose($s);
            return 
    $page;

     function 
    Post($server,$url,$post,$cookie=null)
        {
            
    $q="POST $url HTTP/1.1\r\n".
            
    "Host: $server\r\n".
            
    "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n".
            
    'Accept:text/html, image/jpeg, image/png, text/*, image/*, */*'."\r\n".
            
    "Accept-Encoding: x-gzip, x-deflate, gzip\r\n".
            
    "Accept-Charset: windows-1251, utf-8;q=0.5, *; q=0.5\r\n".
            
    "Accept-Language:ru, en\r\n".
            
    "Keep-Alive: 300\r\n".
            
    "Proxy-Connection: keep-alive\r\n".
             
    "Cookie: $cookie \r\n"
            "Referer: 
    $server \r\n".
            
    //
            
    "Content-Type: application/x-www-form-urlencoded\r\n".
            
    "Content-Length: ".strlen($post)."\r\n".
            
    "\r\n".
            
    "$post\r\n";
            
    $s=fsockopen($server,80);
            
    fputs($s,$q);
            while (!
    feof($s)) $page.=fgets($s);
            
    fclose($s);
            return 
    $page;
    }
    http://lib.ru/WEBMASTER/rfc2068/
    А вообще, для чистоты эксперемента, совутую научится пользоватся снифером.
     
  16. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    http://phpclub.ru/detail/article/http_request

    P.S. никонда с курлом не работал. Надо учиться...
     
  17. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    А мне -4 сделал =]

    Через них конечно. Всё дело в том, что когда ТЫ пишишь через сокеты, то запрос формируешь ТЫ. А в случае Curl ты только задаёшь переменные, а curl может вставить например свой юзер-агент или ещё что-нибудь...
     
  18. incognito

    incognito New Member

    Joined:
    28 Jun 2006
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    а сокеты поддерживают редирект
     
  19. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    я знаю, что я поступал глупо(правда тогда максимум, что было у меня - бесплатный хостинг). А вот ты это и советуешь вместо правильного решения.
     
  20. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    Пять =)
    Нет, сокеты не могут поддерживать редирект, потому-что сокеты не только для http запросов. Сокеты посылают\принимают. В этом их задача.
    Чтобы был редирект, тебе прийдётся анализировать полученный хедер, ну и дальше.... =)